Node.js - буфер против Unint8Array - PullRequest
       27

Node.js - буфер против Unint8Array

0 голосов
/ 21 февраля 2019

В документации 1 модуля fs мы можем прочитать (для метода writeFile):

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

В той же документации 2 этосказал:

Теперь, когда доступен TypedArray, класс Buffer реализует Uint8Array API более оптимизированным и подходящим для Node.js.

образом, если буферкласс реализует Unint8Array, не могли бы вы объяснить, почему нам нужно преобразовать Unint8Array из буфера?

1 Ответ

0 голосов
/ 21 февраля 2019

Uint8Array - это байтовый массив общего назначения, который доступен как в nodejs, так и в браузерах.Buffer - это подкласс Uint8Array, который доступен только в nodejs (по историческим причинам).оба в основном используются для манипулирования двоичными (байтовыми) данными.

Исторически, когда впервые появился nodejs, универсальный массив Uint8Arrays не существовал, поэтому ему пришлось изобрести свой собственный тип «Buffer» для обработки двоичныхданные.после того, как универсальные Uint8Arrays были представлены с es6, nodejs (после версии 4.0) решил перенести Buffer из отдельного типа данных -> подкласс Uint8Array (чтобы попытаться сделать его более совместимым с браузером с Uint8Array).

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

...