Buffer的实例方法

将二进制数据转换成字符串

返回的是: <string> 转换之后的字符串数据,使用 buf.toString();

let buf = Buffer.from([97, 98, 99]);
console.log(buf);
console.log(buf.toString()); 

往 Buffer 中写入数据

使用的是 write 语法如下:

buf.write(string[, offset[, length]][, encoding])

在来介绍一下以上的4个参数的作用:

  • string <string> 要写入 buf 的字符串
  • offset <integer> 开始写入 string 之前要跳过的字节数,默认值是 0
  • length <integer> 要写入的字节数,默认值,buf.length - offset
  • encoding <string> string 的字符编码,默认值是:'utf8'
  • 返回值是: <integer> 已写入的字节数
let buf = Buffer.alloc(5);
buf.write("abcdefg");
console.log(buf.toString());
let buf2 = Buffer.alloc(5);
buf2.write("abcdefg", 2);
console.log(buf2.toString());
let buf3 = Buffer.alloc(5);
buf3.write("abcdefg", 2, 2);
console.log(buf3.toString());
let buf4 = Buffer.alloc(5);
buf4.write("abcdefg", 2, 3, "utf8");
console.log(buf4.toString());

从指定位置截取新 Buffer

buf.slice([start[, end]])

参数解释:

  • start <integer> 新 Buffer 开始的位置。默认值: 0
  • end <integer> 新 Buffer 结束的位置(不包含)
let buf1 = Buffer.from("abcdefg");
let buf2 = buf1.slice();
console.log(buf2.toString());

buf2 = buf1.slice(2);
console.log(buf2.toString());

buf2 = buf1.slice(2, 4);
console.log(buf2.toString());
posted @ 2020-11-14 11:24  BNTang  阅读(172)  评论(0编辑  收藏  举报