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, время: 07:06. |