1.概念
Buffer 是一个类似于数组的对象,用来表示固定长度的字节序列。本质是一段内存空间,专门用于处理二进制数据
2.特点
1.大小固定并且无法调整
2.性能较好,可以直接对计算机内存进行操作
3.每个元素的大小为1字节
3.使用
3.1 创建Buffer
1.Buffer.alloc
长度为8字节的buffer,相当于申请了8字节的内存空间,每个字节的值为0
let buf_1=Buffer.alloc(8)
//<Buffer 00 00 00 00 00 00 00 00>
2.Buffer.allocUnsafe
buffer中可能存在旧的数据,可能会影响执行结果,叫作unsafe
let buf_1=Buffer.allocUnsafe(8)
//<Buffer 00 00 00 00 00 00 00 00>
3.Buffer.from
//用字符串创建Buffer
let buf_3 = Buffer.from('hello')
//<Buffer 68 65 6c 6c 6f>
//用数组创建Buffer
let buf_4 = Buffer.from([105, 108, 111, 118, 101, 121, 111, 117])
//<Buffer 69 6c 6f 76 65 79 6f 75>
3.2 Buffer与字符串的转化
toString 默认是按照 utf-8的编码方式转换的
console.log(buf_4.toString)
3.3 Buffer的读写
注意:
1.如果修改的数值超过255,则超过8位数据会被舍弃
2.一个uft-8的字符一般占三个字节
//读取
console.log(buf[1])
//修改
buf[2]=12
console.log(buf.toString())