Как я могу взять октет из буфера и превратить его в двоичную последовательность? Я хочу декодировать протокол rfc1035 через node.js, но с трудом работать с битами.node.js - разрезать байт на биты
Вот код, но он меня не устраивает - потому что это черный ящик для меня:
var sliceBits = function(b, off, len) {
var s = 7 - (off + len - 1);
b = b >>> s;
return b & ~(0xff << len);
};
спасибо, я просто скопирую один октет и использую код tmpByte = tmpSlice.toString ('ascii', 0, 1) .charCodeAt (0); var octet = tmpByte; – Kolomnitcki
Другая альтернатива без тернарного оператора: for (var i = 0; i <8; i ++) {var bit = октет >> 7 - i & 1; ...} –
Хорошее предложение, я уверен, что это более эффективно. –