Buffer(缓冲器)(Node.js笔记)

137 阅读1分钟

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())