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?