node(3)Buffer缓冲区
buffer 专门用来存放二进制数据的缓冲区:处理文件流 TCP流
const buf = Buffer.from('runoob', 'ascii');
// 创建一个长度为 10、且用 0x1 填充的 Buffer。
const buf2 = Buffer.alloc(10, 1);
// 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer。
const buf4 = Buffer.from([1, 2, 3]);
写入缓冲区 返回的是实际写入的大小,如果空间不足,则只会写入 部分字符串
buf.write(string:写入缓冲区的字符串
offset:缓冲区开始写入的索引值,默认为零
length:写入的字节数,默认为全部
enconding:使用的编码,默认为uft-8
)
从缓冲区读取数据
buf.toString(encoding:使用的编码,默认为utf-8
start:开始的索引位置
end:结束的索引位置
)
buf.toJSON将buffer转换为json对象
buf.toString 转换为字符串
缓冲区合并
Buffer.concat(list[, totalLength]) 返回一个新的buffer对象
-
list - 用于合并的 Buffer 对象数组列表。
-
totalLength - 指定合并后Buffer对象的总长度。
静态方法
Buffer.byteLength //buffer的长度
Buffer.isBuffer() //是否是buffer
Buffer.concat() //bufferhe合并
实例方法 是创建完实例后的方法
缓冲区比较 compare 返回一个数字 >0 <0 =0
缓冲区拷贝 copy 没有返回值
缓冲区剪裁 slice 返回一个新的缓冲区,他和旧的缓冲区指向同一块内存
缓冲区的长度 length 返回一个数字
const buf = Buffer.from("this is a test!")
buf.length
buf.toString()
buf.fill()
buf.equals()
buf.indexOf()
buf.copy()