如何将NodeJS二进制缓冲区转换为JavaScript ArrayBuffer?
Instances of Buffer
are also instances of Uint8Array
在node.js 4.x及更高版本中。因此,最有效的解决方案是按照Buffer
直接访问Uint8Array
属性。如果您需要其他方向,则Buffer构造函数还可以使用ArrayBufferView参数。
请注意,这不会创建副本,这意味着对任何ArrayBufferView的写操作都会对原始Buffer实例进行写操作。
将类型化的数组转换为缓冲区:Buffer
“从ArrayBuffer到Buffer”可以这样进行:
一种更快的编写方式
使用以下出色的npm软件包:var buffer = Buffer.from( new Uint8Array(ab) );
。
to-arraybuffer
只是用于查看buf
的viewlength
因此总是需要一种类型(所谓的“数组缓冲区视图”)。通常,Array Buffer View的类型为Uint8Array
或the ArrayBuffer.prototype.slice
method。
无论如何,这就是我最终得到的...
Buffer
它仅适用于LE,但可以轻松移植到BE。而且,永远也不必实际测试这种方法的效率。