Slice a byte into bits
всем привет.
скажите, как читать побайтно из буфера? (node.js) есть функция, которая это делает, но комментарий к ней как бы намекает. я вообще не понимаю что тут происходит. есть менее сложные способы?
/*
* Slice a byte into bits using black magic
*/
sliceBits = function(b, off, len) {
var s = 7 - (off + len - 1);
b = b >>> s;
return b & ~(0xff << len);
};
|
как подсказали, более простой вариант выглядит так:
tmpSlice = new Buffer(1) // буфер размером 1 октет
req.copy(tmpSlice, 0, 2, 3); //копируем в него нужный байт
tmpByte = tmpSlice.toString('ascii', 0, 1).charCodeAt(0);
var octet = tmpByte;
var bits = [0]; // лучше подсказать V8 какой будет массив, а не определять его пустым.
for (var i = 7; i >= 0; i--) {
var bit = octet & (1 << i) ? 1 : 0;
bits.push(bit);
}
console.log(bits)
|
| Часовой пояс GMT +3, время: 09:39. |