Преобразование буфера nodejs в javascript браузеров

Я конвертирую свой код из Node.js для javascript браузеров, но у меня проблема с буферами в узле.js. Как я могу использовать их в JavaScript?

вот пример:

new Buffer("foo", encoding='utf8')
<Buffer 66 6f 6f>

Мне нужно преобразовать [66, 6f, 6f] в javascript в "foo" и наоборот. Как я могу это сделать? Примечание: это должно быть сделано без узла.js.

3 ответов


с https://github.com/substack/node-browserify Вы можете работать с буферами в браузере, используя:https://github.com/toots/buffer-browserify. Однако: это может быть очень медленно в браузере: для более быстрого доступа используйте https://github.com/chrisdickinson/bops


в JavaScript на основе браузера нет прямой поддержки буфера, и я не знаю никакой библиотеки совместимости, которая реализует API буфера (пока).

эквивалентная функциональность в браузере обеспечивается TypedArrays. Узнать о них можно здесь:

при переносе реализации на основе буфера узла в JavaScript на основе браузера я нашел эти ответы полезны:


преобразовать обратно в строку, используйте метод toString буфера с кодирование.

http://nodejs.org/docs/latest/api/buffers.html#buffer.toString

var buffer = new Buffer("foo", "utf8");
var str = buffer.toString("utf8");
str === "foo";