Buffer

Buffer类

创建

  • 方法 1

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

  • 方法 2

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

  • 方法 3

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

以上方法在Node.js v6.0后废弃,不建议使用。

新的API

  • Buffer.from()

  • Buffer.alloc()

  • Buffer.allocUnsafe

创建Buffer类长度是固定的,不可以更改。 打印Buffer,会以16进制编码格式显示。

写入

语法:

  • string - 写入的字符串。

  • offset - 开始写入的buf位置索引值,默认为 0。

  • length - 写入的字节数,默认为 buffer.length

  • encoding - 使用的编码。默认为 'utf8' 。

    • 支持类型:ASCII、UTF-8、UTF-16LE/UCS-2、Base64、Binary、Hex

读取

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

Buffer的编码转换成字符。

  • encoding - 使用的编码。默认为 'utf8' 。

  • start - 指定开始读取的索引位置,默认为 0。

  • end - 结束位置,默认为缓冲区的末尾。

String.fromCharCode()

字符串静态方法, 把 Unicode 值转化成字符。

stringObject.charCodeAt(index)

把字符转化成Unicode值。

将 Buffer 转换为 JSON 对象

合并缓冲区

  • list - 用于合并的 Buffer 对象数组列表。

  • totalLength - 指定合并后Buffer对象的总长度。

拷贝缓冲区

  • targetBuffer - 要拷贝的 Buffer 对象。

  • targetStart - 数字,写入的Buffer对象的开始位置, 可选, 默认: 0

  • sourceStart - 数字,拷贝Buffer对象的开始位置 可选, 默认: 0

  • sourceEnd - 数字, 拷贝Buffer对象的结束位置,Â可选, 默认: buffer.length

缓冲区裁剪

  • start - 数字, 可选, 默认: 0

  • end - 数字, 可选, 默认: buffer.length

缓冲区长度

静态方法

  • Buffer.isEncoding(encoding)

判断是否支持这个编码方式。

  • Buffer.isBuffer(obj)

测试这个 obj 是否是一个 Buffer

  • Buffer.byteLength(string, [encoding])

将会返回这个字符串真实字节长度

不同的编码方式,字节长度会不一样。

  • Buffer.concat(list, [totalLength])

Last updated

Was this helpful?