Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2013, 00:17
Новичок на форуме
Отправить личное сообщение для Kolomnitcki Посмотреть профиль Найти все сообщения от Kolomnitcki
 
Регистрация: 06.08.2013
Сообщений: 2

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);
};
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2013, 00:33
Новичок на форуме
Отправить личное сообщение для Kolomnitcki Посмотреть профиль Найти все сообщения от Kolomnitcki
 
Регистрация: 06.08.2013
Сообщений: 2

как подсказали, более простой вариант выглядит так:

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)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает метод slice() и join() Faab Общие вопросы Javascript 3 22.04.2012 17:10
Как в метод slice вместо числа подставить переменную leny Ваши сайты и скрипты 15 07.07.2011 23:06
slice в конструкторе mad@Max Общие вопросы Javascript 3 09.02.2010 03:19
Не корректно работает slice Dotod Общие вопросы Javascript 20 30.01.2010 23:31