Buffer(缓冲器)
buffer白话说就是一段固定的存储空间,用于存储二进制数据
特点
- buffer是固定大小不能调整
- buffer性能比较好,可以直接操作计算机内存
- 每个元素大小1字节(byte)
创建方式
- alloc 创建时会对每个二进制位清0
- allocUnsafe (不安全的意思) 创建可能包括旧的数据
注:内存空间是可复用的,当A执行完成之后,B创建的时候就可能包含A的数据 - from 转换字符串或数组
//1. alloc 创建时会对每个二进制位清0
let buf = Buffer.alloc(10)
console.log(buf);
//2. allocUnsafe (不安全) 创建可能包括旧的数据
let buf_1 = Buffer.allocUnsafe(10)
console.log(buf_a);
// from 转换字符串或数组
let buf_2 = Buffer.from('nodejs') // 对照ASCII表
console.log(buf_2)
let buf_3 = Buffer.from([10,25,60])
console.log(buf_3)
Buffer转换字符串(toString)
let buf = Buffer.from([67,111,109,101,79,110])
console.log(buf.toString())
读写(可以使用数组形式)
let buf = Buffer.from([67,111,109,101,79,110])
// 此处toString不同于上面转字符串,2代表转换成二进制
console.log(buf[0].toString(2))
// 修改
buf[0] = 112
console.log(buf.toString())
// 补充一下 关于中文
let buf = Buffer.from('你好')
console.log(buf)
// 结果为 <Buffer e4 bd a0 e5 a5 bd> 在utf-8格式下 一个字占用3个字节