[关闭]
@JRuiCoder 2015-12-27T09:29:56.000000Z 字数 1142 阅读 1712

Node.js Buffer(缓冲区)

Node


1、创建Buffer的几种方法

第一种:创建长度为 10 字节的 Buffer 实例:

  1. var buf = new Buffer(10);

第二种:通过给定的数组创建 Buffer 实例:

  1. var buf = new Buffer([10, 20, 30, 40, 50]);

第三种:通过一个字符串来创建 Buffer 实例:

  1. var buf = new Buffer("www.runoob.com", "utf-8");

2、写入缓冲区

语法如下:

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

参数说明:
string - 写入缓冲区的字符串。
offset - 缓冲区开始写入的索引值,默认为 0 。
length - 写入的字节数,默认为 buffer.length
encoding - 使用的编码。默认为 'utf8' 。

3、从缓冲区读取数据

  1. buf.toString([encoding][, start][, end])

参数说明:
encoding - 使用的编码。默认为 'utf8' 。
start - 指定开始读取的索引位置,默认为 0。
end - 结束位置,默认为缓冲区的末尾。
实例:

  1. buf = new Buffer(26);
  2. for (var i = 0 ; i < 26 ; i++) {
  3. buf[i] = i + 97;
  4. }
  5. console.log( buf.toString('ascii')); // 输出: abcdefghijklmnopqrstuvwxyz
  6. console.log( buf.toString('ascii',0,5)); // 输出: abcde
  7. console.log( buf.toString('utf8',0,5)); // 输出: abcde
  8. console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde

4、将 Buffer 转换为 JSON 对象

语法如下:

  1. buf.toJSON()

实例:

  1. var buf = new Buffer('www.runoob.com');
  2. var json = buf.toJSON(buf);
  3. console.log(json);

5、缓冲区合并

语法如下:

  1. Buffer.concat(list[, totalLength])

参数说明:
list - 用于合并的 Buffer 对象数组列表。
totalLength - 指定合并后Buffer对象的总长度。
实例:

  1. var buffer1 = new Buffer('菜鸟教程 ');
  2. var buffer2 = new Buffer('www.runoob.com');
  3. var buffer3 = Buffer.concat([buffer1,buffer2]);
  4. console.log("buffer3 内容: " + buffer3.toString());
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注