将nodejs的缓冲区转换成浏览器的javascript

我将我的代码从Node.js转换为浏览器的javascript,但是我在node.js中的缓冲区有问题。 我怎样才能在Javascript中使用它们?

这是一个例子:

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

我需要在JavaScript中将[66,6f,6f]转换为“foo”,反之亦然。 我怎样才能做到这一点? 注意:这必须在没有Node.js的情况下完成。

使用https://github.com/substack/node-browserify,您可以使用以下url使用浏览器中的缓冲区&#xFF1A; https : //github.com/toots/buffer-browserify 。 但是,这在浏览器中可能会非常慢:为了更快地访问,请使用https://github.com/chrisdickinson/bops

在基于浏览器的JavaScript中没有对Buffer的直接支持,我不知道任何实现了Buffer API(还)的兼容性库。

浏览器中的等效function由TypedArrays提供。 你可以在这里了解它们:

当将基于节点缓冲区的实现移植到基于浏览器的JavaScript时,我发现这些答案很有帮助:

  • 在string和ArrayBuffers之间转换
  • Javascript – Unicodestring和ArrayBuffer之间的转换

要转换回string,请使用提供的编码使用缓冲区的toString方法。

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

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