1. 基本介绍
Node的Buffer介绍
Buffer 类用于在 TCP 流或文件系统操作等场景中处理字节流。
Buffer实现了Uni8Array。
Uni8Array数组类型表示一个8位无符号整型数组,创建时内容被初始化为0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素。
Uni8Array介绍
Buffer的大小在创建时确定,且无法改变。
Buffer类是一个全局变量,使用时无需用require。
// 创建一个长度为10,且用00填充(Uni8Array特性)的Buffer。
const buf1 = Buffer.alloc(10);
// 创建一个长度为 10、且用 0x1 填充的 Buffer,打印出来是16位
const buf2 = Buffer.alloc(10, 1);
注意,一些常用的方法已经要废弃了(暂时能用):
1. new Buffer()
2. buf.parent
3. new SlowBuffer(size)
2. 常用方法
2.1 传参进行Buffer实例
Buffer.from()
// array
const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
// string
// buffer
// object
// arrBuffer
2.2 Buffer拼接
Buffer.concat()
const buf1=Buffer.alloc(10);
const buf2=Buffer.alloc(14);
const buf3=Buffer.alloc(18);
const totalLength=buf1.length+buf2.length+buf3.length;
//可以传参指定Buffer长度
const bufA=Buffer.concat([buf1,buf2,buf3],totalLength);