我正在将我的代码从Node.js转换为浏览器的javascript,但我在node.js中遇到了Buffers的问题。如何在Javascript中使用它们?
以下是一个例子:
new Buffer("foo", encoding='utf8')
<Buffer 66 6f 6f>
我需要将javascript中的[66,6f,6f]转换为“foo”,反之亦然。我怎样才能做到这一点? 注意:这必须在没有Node.js的情况下完成。
答案 0 :(得分:6)
在基于浏览器的JavaScript中没有对Buffer的直接支持,我也不知道有任何实现Buffer API的兼容性库。(/ p>
浏览器中的等效功能由TypedArrays提供。你可以在这里了解它们:
将基于节点缓冲区的实现移植到基于浏览器的JavaScript时,我发现这些答案很有帮助:
答案 1 :(得分:6)
使用https://github.com/substack/node-browserify,您可以使用:https://github.com/toots/buffer-browserify在浏览器中使用缓冲区。但是:在浏览器中这可能会非常慢:为了更快地访问,请使用https://github.com/chrisdickinson/bops
答案 2 :(得分:-2)
要转换回字符串,请使用缓冲区的toString方法和提供的编码。
http://nodejs.org/docs/latest/api/buffers.html#buffer.toString
var buffer = new Buffer("foo", "utf8");
var str = buffer.toString("utf8");
str === "foo";