Node.js Buffer 模块

实例

将字符串 "abc" 转换为二进制数据流:

  1. var buf = Buffer.from('abc');
  2. console.log(buf);

定义与用法

buffers 模块提供了一种处理二进制数据流的方法。

Buffer 对象在 Node.js 是全局对象, 并且不需要使用 require 关键字导入它。


语法

用于创建长度为 15 的空缓冲区的语法:

  1. var buf = Buffer.alloc(15);

Buffer 属性和方法

方法描述
alloc()创建指定长度的缓冲区对象
allocUnsafe()创建指定长度的非零填充缓冲区
allocUnsafeSlow创建指定长度的非零填充和非池式缓冲区
byteLength()返回指定对象中的字节数
compare()比较两个缓冲区对象
concat()将缓冲区对象数组连接到一个缓冲区对象中
copy()复制缓冲区对象的指定字节数
entries()返回缓冲区对象的 "index" "byte" 成对的迭代器
equals()比较两个缓冲区对象,如果匹配则返回 true,否则返回 false
fill()用指定的值填充缓冲区对象
from()从对象(字符串/数组/缓冲区)创建缓冲区对象
includes()检查缓冲区对象是否包含指定的值。如果存在匹配项,则返回 true,否则返回 false
indexOf()检查缓冲区对象是否包含指定的值。返回第一个匹配项,否则返回 -1
isBuffer()检查对象是否为缓冲区对象
isEncoding()检查缓冲区对象是否支持指定的编码
keys()返回缓冲区对象中的键数组
lastIndexOf()检查缓冲区对象是否包含指定的值。返回第一个匹配项,从结尾开始,否则返回 -1
length返回缓冲区对象的长度(以字节为单位)
poolSize设置或返回用于池的字节数
readDoubleBE()从缓冲区对象读取 64 位双精度,以 big-endian 格式返回结果
readDoubleLE()从缓冲区对象读取 64 位双精度,以小尾数形式返回结果
readFloatBE()从缓冲区对象读取 32 位浮点,以big-endian 格式返回结果
readFloatLE()从缓冲区对象读取 32 位浮点值,以 little endian 格式返回结果
readInt8()从缓冲区对象读取 8 位整数
readInt16BE()从缓冲区对象读取一个 16 位整数,以 big-endian 格式返回结果
readInt16LE()从缓冲区对象读取一个 16 位整数,以小尾数形式返回结果
readInt32BE()从缓冲区对象中读取 32 位整数,并以 big-endian 格式返回结果
readInt32LE()从缓冲区对象中读取 32 位整数,以小尾数形式返回结果
readIntBE()从缓冲区对象中读取32位整数,以小尾数形式返回结果
readIntLE()从缓冲区对象读取指定数量的字节,并以 little endian 返回结果
readUInt8()从缓冲区对象读取无符号 8 位整数
readUInt16BE()从缓冲区对象读取一个无符号 16 位整数,并以 big-endian 格式返回结果
readUInt16LE()从缓冲区对象读取一个无符号 16 位整数,以小尾数形式返回结果
readUInt32BE()从缓冲区对象中读取一个无符号 32 位整数,以 big-endian 格式返回结果
readUInt32LE()从缓冲区对象读取一个无符号 32 位整数,以小尾数形式返回结果
readUintBE()从缓冲区对象读取指定数量的字节,并将结果作为无符号整数返回
readUIntLE()从缓冲区对象读取指定数量的字节,并将结果作为无符号整数返回
slice()将缓冲区对象切片为新缓冲区对象,从指定位置开始并结束
swap16()交换 16 位缓冲区对象的字节顺序
swap32()交换 32 位缓冲区对象的字节顺序
swap64()交换 64 位缓冲区对象的字节顺序
toString()返回缓冲区对象的字符串版本
toJSON()返回缓冲区对象的 JSON 版本
values()返回缓冲区对象中的值数组
write()将指定的字符串写入缓冲区对象
writeDoubleBE()使用big-endian将指定的字节写入缓冲区对象。字节应为 64 位双精度。
writeDoubleLE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 64 位双精度。
writeFloatBE()使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位浮点。
writeFloatLE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位浮点。
writeInt8()将指定的字节写入缓冲区对象。字节应为 8 位整数
writeInt16BE()使用 big-endian 将指定的字节写入缓冲区对象。字节应为 16 位整数。
writeInt16LE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 16 位整数。
writeInt32BE()使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位整数。
writeInt32LE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位整数。
writeIntBE()使用 big-endian 将指定的字节写入缓冲区对象。
writeIntLE()使用 little endian 将指定的字节写入缓冲区对象。
writeUInt8()将指定的字节写入缓冲区对象。字节应为 8 位无符号整数
writeUInt16BE()使用big-endian将指定的字节写入缓冲区对象。字节应为 16 位无符号整数。
writeUInt16LE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 16 位无符号整数。
writeUInt32BE()使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位无符号整数。
writeUInt32LE()使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位无符号整数。
writeUIntBE()使用 big-endian 将指定的字节写入缓冲区对象
writeUIntLE()使用 little endian 将指定的字节写入缓冲区对象

分类导航