1
私は、任意の説明もなく、このコードサンプルを見た:バイナリデータの取り扱いとビット単位のAND
var xhr = new XMLHttpRequest();
xhr.open('GET', '/path/to/image.png', true);
// Trick to pass bytes through unprocessed.
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.onreadystatechange = function(e) {
if (this.readyState == 4 && this.status == 200) {
var binStr = this.responseText;
for (var i = 0, len = binStr.length; i < len; ++i) {
var c = binStr.charCodeAt(i);
//String.fromCharCode(c & 0xff)
var byte = c & 0xff; // byte at offset i
}
}
};
xhr.send();
私はその行var byte = c & 0xff; // byte at offset i
がやっているのだろうか?なぜAND
と0xFF
がありますか?このコードはJavaScriptで書かれています。
バイトは '[0、255]'の範囲にあり、 '&0xff'は'%255'と等しく、有効なバイトを返します。 – pimvdb
私はビット演算子を読むことをお勧めします。あなたが毎日それらを使用するつもりはない場合でも、彼らは知って良いことです、そしてIMOについて学ぶことは非常に面白いです。 –
https://developer.mozilla.org/ja/JavaScript/Reference/Operators/Bitwise_Operators –