NodeJS基础-Buffer
- Buffer用于处理二进制数据流
- 实例类似于整数数组,大小固定
- C++代码在V8堆外分配物理内存
// 创建一个长度为10,且用0填充的Buffer
const buf1 = Buffer.alloc(10);
// 创建一个长度为10、且用0x1填充的Buffer
const buf2 = Buffer.alloc(10,1);
// 创建一个长度为10、且未初始化的Buffer。
// 这个方法比调用Buffer.alloc()更快,
// 但返回的Buffer实例可能包含旧数据,因此需要使用fill()或write()重写。
const buf3 = Buffer.allocUnsafe(10);
// 创建一个包含[0x1, 0x2, 0x3]的Buffer
const buf4 = Buffer.from([1, 2, 3]);
// 创建一个包含UTF-8字节的Buffer
const buf5 = Buffer.from('test');
// 创建一个包含Latin-1字节的buffer
const buf6 = Buffer.from('test','latin1');
console.log(buf1);
console.log(buf2);
console.log(buf3);
console.log(buf4);
console.log(buf5);
console.log(buf6);
显示如下:
<Buffer 00 00 00 00 00 00 00 00 00 00>
<Buffer 01 01 01 01 01 01 01 01 01 01>
<Buffer e8 32 c0 83 a4 55 00 00 70 33>
<Buffer 01 02 03>
<Buffer 74 65 73 74>
<Buffer 74 65 73 74>