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

原文地址:https://www.cnblogs.com/joer717/p/10510707.html