Node.js - 缓冲区与Unint8Array

问题描述 投票:0回答:1

在fs模块的文档1中,我们可以读取(对于writeFile方法):

const data = new Uint8Array(Buffer.from('Hello Node.js'));

在同一文件中2说:

现在可以使用TypedArray,Buffer类以更优化和适合Node.js的方式实现Uint8Array API。

所以如果Buffer类实现了Unint8Array,你能告诉我为什么我们需要从Buffer转换为Unint8Array吗?

javascript node.js buffer uint8array
1个回答
1
投票

Uint8Array是一个通用字节数组,可在nodejs和browser中使用。 Buffer是Uint8Array的子​​类,仅在nodejs中可用(由于历史原因)。两者主要用于操作二进制(字节)数据。

从历史上看,当nodejs首次出现时,通用的Uint8Arrays不存在,因此它必须发明自己的“缓冲”类型来处理二进制数据。在通用的Uint8Arrays与es6一起引入之后,nodejs(在4.0版之后)决定从另一个数据类型 - > Uint8Array的子​​类迁移Buffer(试图使其与Uint8Array更兼容浏览器)。

https://www.quora.com/What-is-the-relationship-between-a-Buffer-and-an-Uint8Array-in-Node-js

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