1 概念
- Buffer是一个类似于数组的对象,用于表示固定长度的字节序列。
- Buffer本质是一段内存空间,专门用来处理二进制数据 。
2 特点
- Buffer大小固定且无法调整。
- Buffer性能较好,可以直接对计算机内存进行操作。
- 每个元素的大小为1字节(byte)。
3 使用
3.1 创建 Buffer
let buf_1 = Buffer.alloc(10);
let buf_2 = Buffer.allocUnsafe(10);
let buf_3 = Buffer.from('hello');
let buf_4 = Buffer.from([105, 108, 111, 118, 101, 121, 111, 117])
3.2 Buffer与字符串的转化
- toString方法将Buffer转为字符串。
- toString默认是按照utf-8编码方式进行转换的。
let buf_4 = Buffer.from([105, 108, 111, 118, 101, 121, 111, 117]);
console.log(buf_4.toString())
3.3 Buffer的读写
- Buffer可以直接通过[ ]的方式对数据进行处理。
- 如果修改的数值超过255,则超过8位数据会被舍弃。
- 一个utf-8的字符一般占3个字节。
let buf = Buffer.from('hello');
console.log(buf[0].toString(2));
console.log(buf);
buf[0] = 95;
console.log(buf.toString());
let buf = Buffer.from('hello');
buf[0] = 361;
console.log(buf);
let buf = Buffer.from('你好');
console.log(buf);