Упаковка и распаковка бинарных данных в JavaScript
В текущем стандарте JavaScript (и в Node.js) к сожалению нет поддержки упаковки/распаковки двоичных данных — аналогов pack()
и unpack()
из PHP. Т.к. в Node есть возможность соединяться с TCP-серверами и самому создавать их, там не помешала бы возможность обмениваться данными в каком либо двоичном протоколе. В частности, в моём последнем опыте (соединение Node.js и Sphinx) потребовалось посылать и получать именно двоичные данные.
К счастью, я нашёл библиотеку php.js, в которой функции pack/unpack уже портированы на JavaScript. Так что скоро, думаю, будет пост об использовании Sphinx из Node. Пока получилось только соединиться с сервером и обменяться версиями протокола.
Слушай, наверное стоит написать модуль на С++, на сколько это нужно в плане производительности?
Вообще я думаю что v8 и так должен неплохо оптимизировать бинарные операции. Я, честно говоря, затрудняюсь сказать насколько C++ будет быстрее. Можешь посмотреть код bits.js у меня — там одни
>>
и&
.