Преобразование буфера nodejs в javascript браузеров
Я конвертирую свой код из Node.js в javascript браузеров, но у меня проблема с буферами в Node.js. Как я могу использовать их в Javascript?
Вот пример:
new Buffer("foo", encoding='utf8')
<Buffer 66 6f 6f>
Мне нужно преобразовать [66, 6f, 6f] в javascript в "foo" и наоборот. Как я могу это сделать?
ПРИМЕЧАНИЕ: это необходимо сделать без Node.js.
Ответы
Ответ 1
С https://github.com/substack/node-browserify вы можете работать с буферами в браузере, используя: https://github.com/toots/buffer-browserify. Однако: это может быть очень медленным в браузере: для более быстрого доступа используйте https://github.com/chrisdickinson/bops
Ответ 2
Нет прямой поддержки Buffer в JavaScript на основе браузера, и я не знаю никакой библиотеки совместимости, которая реализует Buffer API (пока).
Эквивалентная функциональность в браузере предоставляется TypedArrays. Вы можете узнать о них здесь:
При переносе реализации на основе буфера Node на браузер на основе JavaScript я нашел эти ответы полезными:
Ответ 3
Чтобы преобразовать обратно в строку, используйте метод toString buffer с поставляемой кодировкой.
http://nodejs.org/docs/latest/api/buffers.html#buffer.toString
var buffer = new Buffer("foo", "utf8");
var str = buffer.toString("utf8");
str === "foo";