Buffer.from(arrayBuffer[, byteOffset[, length]])

Posted lalalagq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Buffer.from(arrayBuffer[, byteOffset[, length]])相关的知识,希望对你有一定的参考价值。

Buffer.from(arrayBuffer[, byteOffset[, length]])


  • arrayBuffer - 一个 TypedArray 或 new ArrayBuffer() 的 .buffer 属性

  • byteOffset {Number} 默认:0

  • length {Number} 默认:arrayBuffer.length - byteOffset

当传递的是 TypedArray 实例的 .buffer 引用时,这个新建的 Buffer 将像 TypedArray 那样共享相同的内存分配。

const arr = new Uint16Array(2);
arr[0] = 5000;
arr[1] = 4000;

const buf = Buffer.from(arr.buffer); // shares the memory with arr;

console.log(buf);
// Prints: <Buffer 88 13 a0 0f>

// changing the TypedArray changes the Buffer also
arr[1] = 6000;

console.log(buf);
// Prints: <Buffer 88 13 70 17>

选填的 byteOffset 和 length 参数指定一个将由 Buffer 共享的 arrayBuffer 中的内存范围。

const ab = new ArrayBuffer(10);
const buf = Buffer.from(ab, 0, 2);
console.log(buf.length);
// Prints: 2

如果 arrayBuffer 不是一个有效的 ArrayBuffer 则抛出一个 TypeError 错误。

以上是关于Buffer.from(arrayBuffer[, byteOffset[, length]])的主要内容,如果未能解决你的问题,请参考以下文章

TSlint 警告:弃用 atob 已弃用:请改用 `Buffer.from(data, 'base64')`

Buffer.compare()

Node.js 指南(迁移到安全的Buffer构造函数)

Node Buffer 利用 slice + indexOf 生成 split 方法

javascript 将arraybuffer转换为string,将string转换为arraybuffer

ArrayBuffer与字符串的互相转换