buffer
对象 buffer
二进制数据缓存对象,用于 io 读写的数据处理
Buffer 对象为全局基础类,在任何时候都可以直接以 new Buffer(…) 创建:
1 | var buf = new Buffer(); |
静态函数
isBuffer
检测给定的变量是否是 Buffer 对象
1 | Buffer.isBuffer(v); |
调用参数:
- v: Value, 给定需要检测的变量
返回结果:
- Boolean, 传入对象是否 Buffer 对象
实例:
1 | exports.hi = v => { |
from
通过其他 Buffer 创建 Buffer 对象
1 | Buffer.from(buffer,byteOffset,length); |
调用参数:
- buffer: Buffer, 给定 Buffer 类型变量用于创建 Buffer 对象
- byteOffset: Integer, 指定数据起始位置,起始为 0
- length: Integer, 指定数据长度,起始位 -1,表示剩余所有数据
返回结果:
- Buffer, 返回 Buffer 实例
实例:
1 | exports.hi = v => { |
通过字符串创建 Buffer 对象
1 | Buffer.from(str,byteOffset,length); |
调用参数:
- str: String, 初始化字符串,字符串将以 utf-8 格式写入
- byteOffset: Integer, 指定数据起始位置,起始为 0
- length: Integer, 指定数据长度,起始位 -1,表示剩余所有数据
返回结果:
- Buffer, 返回 Buffer 实例
实例:
1 | exports.hi = v => { |
通过字符串创建 Buffer 对象
1 | Buffer.from(str,codec); |
调用参数:
- str: String, 初始化字符串,字符串将以 utf-8 格式写入,缺省则创建一个空对象
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Buffer, 返回 Buffer 实例
实例:
1 | exports.hi = v => { |
concat
拼接多个缓存区中的数据
1 | Buffer.concat(buflist,cutLength); |
调用参数:
- buflist: Array, 待拼接的Buffer数组
- cutLength: Integer, 截取多少个Buffer对象
返回结果:
- Buffer, 拼接后产生的新 Buffer 对象
实例:
1 | exports.hi = v => { |
alloc
分配一个指定长度的新缓存区。如果大小为0,将创建一个零长度的缓存区。
1 | Buffer.alloc(size,fill,codec); |
调用参数:
- size: Integer, 缓冲区的所需长度
- fill: Integer, 预先填充新缓冲区的值,可使用 string/buffer/integer 值类型。 默认值:0
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Buffer, 填充好的新 Buffer 对象
实例:
1 | exports.hi = v => { |
分配一个指定长度的新缓存区。如果大小为0,将创建一个零长度的缓存区。
1 | Buffer Buffer.alloc(size,fill,codec); |
调用参数:
- size: Integer, 缓冲区的所需长度
- fill: String, 预先填充新缓冲区的值,可使用 string/buffer/integer 值类型。 默认值:0
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Buffer, 填充好的新 Buffer 对象
实例:
1 | exports.hi = v => { |
分配一个指定长度的新缓存区。如果大小为0,将创建一个零长度的缓存区。
1 | Buffer.alloc(size,fill,codec); |
调用参数:
- size: Integer, 缓冲区的所需长度
- fill: Buffer, 预先填充新缓冲区的值,可使用 string/buffer/integer 值类型。 默认值:0
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Buffer, 填充好的新 Buffer 对象
实例:
1 | exports.hi = v => { |
allocUnsafe
分配一个指定长度的新缓存区。如果大小为0,将创建一个零长度的缓存区。
1 | Buffer.allocUnsafe(size); |
调用参数:
- size: Integer, 缓冲区的所需长度
返回结果:
- Buffer, 指定尺寸的新 Buffer 对象
实例:
1 | exports.hi = v => { |
allocUnsafeSlow
分配一个指定长度的新缓存区。如果大小为0,将创建一个零长度的缓存区。
1 | Buffer.allocUnsafeSlow(size); |
调用参数:
- size: Integer, 缓冲区的所需长度
返回结果:
- Buffer, 指定尺寸的新 Buffer 对象
实例:
1 | exports.hi = v => { |
isEncoding
检测编码格式是否被支持
1 | Buffer.isEncoding(codec); |
调用参数:
- codec: String, 待检测的编码格式
返回结果:
- Boolean, 是否支持
实例:
1 | exports.hi = v => { |
成员属性
length
Integer, 获取缓存对象的尺寸
1 | readonly Integer Buffer.length; |
成员函数
Buffer
缓存对象构造函数
1 | Buffer.Buffer(Array datas); |
调用参数:
- datas: Array, 初始化数据数组
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(ArrayBuffer datas); |
调用参数:
- datas: ArrayBuffer, 初始化数据数组
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(TypedArray datas); |
调用参数:
- datas: TypedArray, 初始化数据数组
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(ArrayBufferView datas); |
调用参数:
- datas: ArrayBufferView, 初始化数据数组
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(Buffer buffer); |
调用参数:
- buffer: Buffer, 初始化Buffer对象
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(String str, |
调用参数:
- str: String, 初始化字符串,字符串将以 utf-8 格式写入,缺省则创建一个空对象
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
1 | exports.hi = v => { |
缓存对象构造函数
1 | Buffer.Buffer(Integer size = 0); |
调用参数:
- size: Integer, 初始化缓冲区大小
实例:
1 | exports.hi = v => { |
resize
修改缓存对象尺寸
1 | Buffer.resize(Integer sz); |
调用参数:
- sz: Integer, 指定新尺寸
实例:
1 | exports.hi = v => { |
append
在缓存对象尾部写入一组二进制数据
1 | Buffer.append(Buffer data); |
调用参数:
- data: Buffer, 初始化二进制数据
实例:
1 | exports.hi = v => { |
在缓存对象尾部写入字符串,字符串将以 utf-8 格式写入
1 | Buffer.append(String str, |
调用参数:
- str: String, 要写入的字符串
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
实例:
1 | exports.hi = v => { |
write
向缓存对象写入指定字符串,字符串默认为utf-8,越界时只写入部分数据
1 | Integer Buffer.write(String str, |
调用参数:
- str: String, 待写入的字符串
- offset: Integer, 写入起始位置
- length: Integer, 写入长度(单位字节,默认值-1),未指定时为待写入字符串的长度
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Integer, 写入的数据字节长度
实例:
1 | exports.hi = v => { |
向缓存对象写入指定字符串,字符串默认为utf-8,越界时只写入部分数据
1 | Integer Buffer.write(String str, |
调用参数:
- str: String, 待写入的字符串
- offset: Integer, 写入起始位置
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Integer, 写入的数据字节长度
实例:
1 | exports.hi = v => { |
向缓存对象写入指定字符串,字符串默认为utf-8,越界时只写入部分数据
1 | Integer Buffer.write(String str, |
调用参数:
- str: String, 待写入的字符串
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
返回结果:
- Integer, 写入的数据字节长度
实例:
1 | exports.hi = v => { |
fill
为 Buffer 对象填充指定内容数据
1 | Buffer Buffer.fill(Integer v, |
调用参数:
- v: Integer, 需要填充的数据,如果未指定 offset 和 end,将填充满整个 buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充终止位置
返回结果:
- Buffer, 返回当前 Buffer 对象
实例:
1 | exports.hi = v => { |
为 Buffer 对象填充指定内容数据
1 | Buffer Buffer.fill(Buffer v, |
调用参数:
- v: Buffer, 需要填充的数据,如果未指定 offset 和 end,将填充满整个 buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充终止位置
返回结果:
- Buffer, 返回当前 Buffer 对象
实例:
1 | exports.hi = v => { |
为 Buffer 对象填充指定内容数据
1 | Buffer Buffer.fill(String v, |
调用参数:
- v: String, 需要填充的数据,如果未指定 offset 和 end,将填充满整个 buffer
- offset: Integer, 填充起始位置
- end: Integer, 填充终止位置
返回结果:
- Buffer, 返回当前 Buffer 对象
实例:
1 | exports.hi = v => { |
indexOf
返回某个指定数据在 Buffer 中首次出现的位置
1 | Integer Buffer.indexOf(Integer v, |
调用参数:
- v: Integer, 待查找数据,如果未指定 offset,默认从起始位开始
- offset: Integer, 起始查找位置
返回结果:
- Integer, 返回查找到的位置,未找到返回 -1
实例:
1 | exports.hi = v => { |
返回某个指定数据在 Buffer 中首次出现的位置
1 | Integer Buffer.indexOf(String v, |
调用参数:
- v: String, 待查找数据,如果未指定 offset,默认从起始位开始
- offset: Integer, 起始查找位置
返回结果:
- Integer, 返回查找到的位置,未找到返回 -1
实例:
1 | exports.hi = v => { |
compare
比较缓存区的内容
1 | Integer Buffer.compare(Buffer buf); |
调用参数:
- buf: Buffer, 待比较缓存对象
返回结果:
- Integer, 内容比较结果
实例:
1 | exports.hi = v => { |
copy
从源缓存对象区域拷贝数据到目标缓存对象区域
1 | Integer Buffer.copy(Buffer targetBuffer, |
调用参数:
- targetBuffer: Buffer, 目标缓存对象
- targetStart: Integer, 目标缓存对象开始拷贝字节位置,缺省为 0
- sourceStart: Integer, 源缓存对象开始字节位置, 缺省为 0
- sourceEnd: Integer, 源缓存对象结束字节位置, 缺省为 -1,表示源数据长度
返回结果:
- Integer, 拷贝的数据字节长度
实例:
1 | exports.hi = v => { |
slice
返回一个新缓存对象,包含指定起始到缓存结尾的数据
1 | Buffer Buffer.slice(Integer start = 0); |
调用参数:
- start: Integer, 指定范围的起始,缺省从头开始
返回结果:
- Buffer, 返回新的缓存对象
实例:
1 | exports.hi = v => { |
返回一个新缓存对象,包含指定范围的数据,若范围超出缓存,则只返回有效部分数据
1 | Buffer Buffer.slice(Integer start, |
调用参数:
- start: Integer, 指定范围的起始
- end: Integer, 指定范围的结束
返回结果:
- Buffer, 返回新的缓存对象
实例:
1 | exports.hi = v => { |
join
把当前对象中的所有元素放入一个字符串
1 | String Buffer.join(String separator = ","); |
调用参数:
- separator: String, 分割字符,缺省为 “,”
返回结果:
- String, 返回生成的字符串
实例:
1 | exports.hi = v => { |
reverse
返回一个新缓存对象,包含当前对象数据的倒序
1 | Buffer Buffer.reverse(); |
返回结果:
- Buffer, 返回新的缓存对象
实例:
1 | exports.hi = v => { |
equals
比较当前对象与给定的对象是否相等
1 | Boolean Buffer.equals(object expected); |
调用参数:
- expected: object, 制定比较的目标对象
返回结果:
- Boolean, 返回对象比较的结果
实例:
1 | exports.hi = v => { |
hex
使用 16 进制编码缓存对象内容
1 | String Buffer.hex(); |
返回结果:
- String, 返回编码字符串
base64
使用 base64 编码缓存对象内容
1 | String Buffer.base64(); |
返回结果:
- String, 返回编码字符串
keys
返回全部二进制数据的数组
1 | Iterator Buffer.keys(); |
返回结果:
- Iterator, 返回包含对象数据索引的迭代器
values
返回全部二进制数据的数组
1 | Iterator Buffer.values(); |
返回结果:
- Iterator, 返回包含对象数据值的迭代器
entries
返回包含对象数据 [index, byte] 对的迭代器
1 | Iterator Buffer.entries(); |
返回结果:
- Iterator, [index, byte] 对的迭代器
toArray
返回全部二进制数据的数组
1 | Array Buffer.toArray(); |
返回结果:
- Array, 返回包含对象数据的数组
实例:
1 | exports.hi = v => { |
toString
返回二进制数据的编码字符串
1 | String Buffer.toString(String codec, |
调用参数:
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
- offset: Integer, 读取起始位置
- end: Integer, 读取终止位置
返回结果:
- String, 返回对象的字符串表示
实例:
1 | exports.hi = v => { |
返回二进制数据的编码字符串
1 | String Buffer.toString(String codec, |
调用参数:
- codec: String, 指定编码格式,允许值为:”hex”, “base64”, “utf8”, 或者系统支持的字符集
- offset: Integer, 读取起始位置
返回结果:
- String, 返回对象的字符串表示
实例:
1 | exports.hi = v => { |
返回二进制数据的 utf8 编码字符串
1 | String Buffer.toString(); |
返回结果:
- String, 返回对象的字符串表示
实例:
1 | exports.hi = v => { |
toJSON
返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合
1 | String Buffer.toJSON(); |
返回结果:
- String, 返回对象的 JSON 格式表示
实例:
1 | exports.hi = v => { |