目录
Buffer简介(全局变量,无需引入)
Buffer类被引入作为Node.js API的一部分,使其可以在TCP流或文件系统操作等场景中处理二进制数据流。可以将buffer理解为输送二进制数据流的缓存。
常用方法有:
-
Buffer.alloc(size,[filal],[encode])
-
Buffer.from([]/buffer/string): 创建一个buffer,包含参数字节
-
Buffer.isBuffer(obj):判断obj是否为一个buffer类型
-
Buffer.concat([buffer,buffer]):buffer合并
-
buffer.toString(encode):将buffer类型转换为字符串
Buffer.alloc(size,[filal],[encode]) 创建一个Buffer实例
- 其中包含三个参数:size指创建的buffer长度,fial为填充的数组,encode为数组的编码,默认为utf-8,一般不填最后一个。
//创建一个长度为10的buffer
var buffer = Buffer.alloc(10);
//<Buffer 00 00 00 00 00 00 00 00 00 00>
//创建一个使用1来填充的buffer
var buffer1 = Buffer.alloc(10, 1);
console.log(buffer1);
//<Buffer 01 01 01 01 01 01 01 01 01 01>
Buffer.from([ ]/buffer/string):创建一个buffer,包含参数字节
通过给定的数组创建 Buffer 实例:
//创建一个buffer,包含参数字节
var buffer2 = Buffer.from([1, 2, 3, 4]);
console.log(buffer2);
//<Buffer 01 02 03 04>
通过一个字符串来创建Buffer实例:
var buffer = new Buffer("www.runoob.com", "utf-8");
//用下面程序可以替代上面的写法
var buffer= Buffer.from('www.runoob.com','utf-8')
- 括号里可以是一个string类也可以是一个buffer类
//创建一个buffer,包含参数字节
var buffer2 = Buffer.from([1, 2, 3, 4]);
var buffer3 = Buffer.from(buffer2);
console.log(buffer3);
//<Buffer 01 02 03 04>
Buffer.isBuffer(obj):判断obj是否为一个buffer类型
var buffer = Buffer.alloc(10);
console.log(Buffer.isBuffer(buffer));//ture
console.log(Buffer.isBuffer({ name: '12' }));//false
buffer.toString(encode):将buffer类型转换为字符串
注:该方法是实例方法,可以直接在实例中调用
encode为字符编码,不填默认为utf-8
const buffer4 = Buffer.from('test');
console.log(buffer4.toString("base64"));
//dMOpc3Q=