将二进制NodeJS缓冲区转换为JavaScript ArrayBuffer

问题描述 投票:119回答:12

如何将NodeJS二进制缓冲区转换为JavaScript ArrayBuffer?

javascript node.js binary buffer arraybuffer
12个回答
119
投票

Instances of Buffer are also instances of Uint8Array在node.js 4.x及更高版本中。因此,最有效的解决方案是按照Buffer直接访问Uint8Array属性。如果您需要其他方向,则Buffer构造函数还可以使用ArrayBufferView参数。

请注意,这不会创建副本,这意味着对任何ArrayBufferView的写操作都会对原始Buffer实例进行写操作。


0
投票
它试图提供与节点的Buffer API 100%相同的API,并允许:

将类型化的数组转换为缓冲区:Buffer


-1
投票

-6
投票

54
投票
  • 无依赖关系,速度最快,节点4.x及更高版本

49
投票

“从ArrayBuffer到Buffer”可以这样进行:


25
投票

一种更快的编写方式


12
投票

使用以下出色的npm软件包:var buffer = Buffer.from( new Uint8Array(ab) );


10
投票

1。 to-arraybuffer只是用于查看bufview


1
投票
length因此总是需要一种类型(所谓的“数组缓冲区视图”)。通常,

Array Buffer View的类型为Uint8Arraythe ArrayBuffer.prototype.slice method


0
投票
我最终意识到,确实需要以正确的块将数据读入'INTO'视图。这意味着一次从源缓冲区读取8个字节。

无论如何,这就是我最终得到的...


0
投票
Buffer

它仅适用于LE,但可以轻松移植到BE。而且,永远也不必实际测试这种方法的效率。

© www.soinside.com 2019 - 2024. All rights reserved.