Buffer对象
1
2
let buf = Buffer.from('鸡你太美');
console.log(buf);

输出结果:<Buffer e9 b8 a1 e4 bd a0 e5 a4 aa e7 be 8e>

返回的是十六进制数,一个中文字符占三位

1
2
let buf2 = Buffer.alloc(10);
console.log(buf2)

输出结果:<Buffer 00 00 00 00 00 00 00 00 00 00>

传入的是长度,返回的是零值

创建数组
1
2
var arr = new Array('1','2','3');
console.log(arr)

输出结果:[ ‘1’, ‘2’, ‘3’ ]

1
2
var arr1 = new Array(10);
console.log(arr1)

输出结果:[ <10 empty items> ]

这里为10个空值

Buffer类方法
查询个数
1
2
3
4
5
6
let buf = Buffer.from('鸡你太美');
console.log(buf);
let buf2 = Buffer.alloc(10);
console.log(buf2)
console.log(buf.length);
console.log(buf2.length);

创建的buffer对象,个数不能改变

判断编码是否支持
1
2
console.log(Buffer.isEncoding('utf8'))
console.log(Buffer.isEncoding('gbk'))

输出结果:

true
false

判断是否Buffer对象
1
2
let buf2 = Buffer.alloc(10);
console.log(Buffer.isBuffer(buf2));

输出结果:true

查看byte数据长度
1
console.log(Buffer.byteLength('鸡你太美'))

查看编码后的byte数据的长度,不指定编码默认UTF-8

合并Buffer对象
1
2
3
4
let buf1 = Buffer.from('wolfcode');
let buf2 = Buffer.from('.cn');
let concatBuf = Buffer.concat([buf1,buf2]);
console.log(concatBuf.toString());

使用Buffer类concat方法将多个Buffer对象合并成一个,再用toString函数转成字符串类型

Buffer实例方法
写入Buffer数据
1
2
3
4
5
6
7
let buf = Buffer.alloc(10);
console.log(buf);
let len = buf.write('wolfcode');
console.log(len);
console.log(buf);
console.log(buf.toString());
console.log(buf.toJSON());

输出结果:

<Buffer 00 00 00 00 00 00 00 00 00 00>
8
<Buffer 77 6f 6c 66 63 6f 64 65 00 00>
wolfcode
{
type: ‘Buffer’,
data: [
119, 111, 108, 102,
99, 111, 100, 101,
0, 0
]
}

使用Buffer的实例方法write写入Buffer数据

使用toString方法转成字符串类型,注意:非文本信息转成字符串会乱码,没有意义

使用toJSON方法转成json类型,数据变成十进制