📅  最后修改于: 2023-12-03 15:03:12.223000             🧑  作者: Mango
在 Node.js 中,Buffer.from()
方法用于创建一个新的 Buffer
实例,用于存储二进制数据。
Buffer.from(string, encoding = 'utf8')
Buffer.from(array)
Buffer.from(buffer)
Buffer.from(arrayBuffer[, byteOffset [, length]])
string
:字符串数据,将被编码成 Buffer
实例。encoding
:指定字符串的编码方式,默认为 'utf8'
,如果参数是一个 Buffer
类型则忽略该参数。array
:表示要存储到缓冲区的数字数组。buffer
:要复制的 Buffer
实例。arrayBuffer
:ArrayBuffer
实例,包含要存储的二进制数据。byteOffset
:数字,表示 Buffer
实例的初始偏移量,默认为 0
。length
:表示要创建的 Buffer
实例的长度。默认值为 arrayBuffer.byteLength - byteOffset
。Buffer
实例const buf1 = Buffer.from('hello world', 'utf8');
console.log(buf1); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
Buffer
实例const buf2 = Buffer.from([0x68, 0x65, 0x6c, 0x6c, 0x6f]);
console.log(buf2); // <Buffer 68 65 6c 6c 6f>
Buffer
实例const buf3 = Buffer.from('hello world', 'utf8');
const buf4 = Buffer.from(buf3);
console.log(buf4); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
ArrayBuffer
实例创建 Buffer
实例const arr = new Uint16Array([0x1234, 0x5678, 0x90ab, 0xcdef]);
const buf5 = Buffer.from(arr.buffer);
console.log(buf5); // <Buffer 34 12 78 56 ab 90 ef cd>
使用 Buffer.from()
方法,我们可以创建一个 Buffer
实例,并存储二进制数据。我们可以使用字符串、数字数组、Buffer
实例或 ArrayBuffer
实例来创建 Buffer
实例。在创建实例时,我们可以指定字符串的编码方式,也可以指定偏移量和长度。