0
点赞
收藏
分享

微信扫一扫

Buffer的实例方法

在觉 2022-05-23 阅读 45

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

返回的是: ​​<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());




举报

相关推荐

0 条评论