Node.js - Buffer 模块



缓冲区是计算机内存中的一个空间,临时用于存储二进制数据。Node.js Buffer 模块负责处理二进制数据流。二进制数据是计算机可以理解的数据。根据二进制数字系统,它用 0 和 1 的组合标记。例如:110011、001110等。

在Node.js中,缓冲模块在全球范围内可用。您无需使用“需要”来导入它。

类属性

以下是属性列表 -

属性 描述
buf.buffer 提供一个数组缓冲区的对象,从中创建的缓冲区将与数组缓冲区相同。
buf.byteOffset 提供给定缓冲区的 byteOffset 值。
buf.length 提供缓冲区中的字节数。
Buffer.poolSize 将大小(以字节为单位)分配给 Buffer 实例,这些实例稍后由 NodeJs 用于池化。
buf[index] 有助于在缓冲区中的索引位置设置或返回八位字节值。

静态方法

以下是方法列表 -

方法 描述
alloc() 创建具有给定大小的新缓冲区。
allocUnsafe() 分配具有给定大小的新缓冲区。如果大小大于 buffer.constants.MAX_LENGTH 或小于 0,则将抛出 ERR_INVALID_ARG_VALUE。
allocUnsafeSlow() 将分配一个具有给定大小的新缓冲区。如果 size 大于 buffer.constants.MAX_LENGTH 或小于 0,则将抛出 ERR_INVALID_ARG_VALUE。
byteLength() 返回缓冲区对象的长度(以字节为单位)。
compare() 比较两个给定的缓冲区对象,并返回一个值,该值表示比较中的差异。
concat() 通过连接所有给定的缓冲区对象来返回单个缓冲区对象
from() 用于使用作为字节传递的数组创建新缓冲区。
isBuffer() 如果给定的对象是缓冲区,则返回 true。
isEncoding() 如果给定的编码值是受支持的字符编码,则返回 true,如果不是,则返回 false。

Buffer 类方法

以下是方法列表 -

方法 描述
readBigInt64LE() 用于以小端形式读取缓冲区给定偏移量的有符号 64 位整数。
compare() 用于处理两个缓冲区对象的比较,并返回一个值,该值表示比较中的差异。
readBigInt64BE() 用于从缓冲区对象读取给定偏移量的有符号大端序 64 位整数。
lastIndexOf() 它负责在缓冲区内搜索值。它返回值存在的位置,如果值不存在,则返回 -1。
readBigUInt64LE() 用于在给定偏移量处读取当前缓冲区对象的无符号 little-endian 64 位整数。
readDoubleBE() 用于在给定偏移量处从当前缓冲区对象读取 big-endian 双 64 位数字。
readDoubleLE() 用于在给定偏移量下从当前缓冲区对象读取小端序双 64 位数字。
readFloatBE() 用于在给定偏移量处从当前缓冲区对象读取 big-endian 浮点数 32 位数。
readFloatLE() 用于在给定偏移量处读取当前缓冲区对象的 little-endian 浮点数 32 位数。
readInt8()

 

用于在给定偏移量处读取当前缓冲区对象的 8 位有符号数字。
writeDoubleBE() 用于在给定的偏移量处将 big-endian 双精度数写入创建的缓冲区。
writeDoubleLE() 用于在给定的偏移量处写入到创建的缓冲区的小端双精度数。
writeFloatBE() 用于在给定的偏移量处将 big-endian 浮点数 32 位写入当前缓冲区对象。
writeFloatLE() 用于在给定的偏移量处将小端浮点数 32 位写入当前缓冲区对象。
copy() 用于将源缓冲区对象的内容复制到目标缓冲区中。
entries() 用于从给定的缓冲区创建迭代器对象,并从缓冲区的内容中返回一对带有 [index, byte] 的对。
equals() 用于比较两个缓冲区,如果相等,则返回 true,如果不相等,则返回 false。
fill() 用于用给定的值填充缓冲区。如果未指定缓冲区内的范围,它将填充整个缓冲区。
includes() 用于检查给定值在缓冲区内部是否可用或是否包含在缓冲区中。如果存在,则返回 true,如果不存在,则返回 false。
indexOf() 负责在缓冲区内搜索值。它返回值开始的位置,如果值不存在,则返回 -1。
keys() 用于返回迭代器对象。当遍历该对象时,它将为缓冲区对象中的每个字节提供键。
readBigUInt64BE() 用于在给定偏移量处读取当前缓冲区对象的无符号 big-endian 64 位整数。
readInt16BE() 用于以大端形式从缓冲区读取给定偏移量的有符号 16 位整数。
readInt16LE() 用于以小端形式读取与缓冲区相距给定偏移量的有符号 16 位整数。
readInt32BE() 用于以大端形式读取给定偏移量与缓冲区相差的有符号 32 位整数。
readInt32LE() 用于以小端形式从缓冲区读取给定偏移量的有符号 32 位整数。
readIntBE() 用于从给定偏移量的缓冲区中读取 big endian 格式的字节数。
readIntLE() 用于从给定偏移量的缓冲区中读取小端格式的字节数。
readUInt8() 用于在给定偏移量处读取当前缓冲区对象的 8 位无符号数。
readUInt16BE() 用于以大端形式从缓冲区读取给定偏移量的无符号 16 位整数。
readUInt16LE() 用于以小端形式从缓冲区读取给定偏移量的无符号 16 位整数。
readUInt32BE() 用于以大端形式从缓冲区读取给定偏移量的无符号 32 位整数。
readUInt32LE() 用于以小端形式从缓冲区读取给定偏移量的无符号 32 位整数。
readUIntBE() 用于根据字节长度和偏移量读取字节数,并从使用的缓冲区中以 big endian 格式返回无符号整数。
readUIntLE() 用于根据字节长度和偏移量读取字节数,并从使用的缓冲区中以小端格式返回无符号整数。
subarray() 用于根据原始缓冲区上给定的开始和结束偏移值返回新的缓冲区。
swap16(), swap32(), swap64() 它们将缓冲区视为无符号 16 位、32 位或 64 位整数的数组,并就地交换字节顺序并返回对缓冲区的引用。
toJSON() 用于返回给定缓冲区的 JSON 对象。
toString() 用于根据给定的编码对字符串进行解码。
values() 用于返回一个迭代器对象,该对象具有缓冲区中存在的所有字节的详细信息。
write() 用于返回一个迭代器对象,该对象具有缓冲区中存在的所有字节的详细信息。
writeBigInt64BE() 用于在给定偏移量处以大端形式将有符号的 64 位整数写入缓冲区。
writeBigInt64LE() 用于在给定偏移量处以小端形式将有符号的 64 位整数写入缓冲区。
writeBigUInt64LE() 用于在给定偏移量处以小端形式将无符号 64 位整数写入缓冲区。
writeInt8() 用于在给定偏移量处将有符号的 8 位值写入缓冲区。
writeInt16BE() 用于在给定偏移量处以大端形式将有符号的 16 位整数写入缓冲区。
writeInt16LE() 用于在给定偏移量处以小端形式将有符号的 16 位整数写入缓冲区。
writeInt32BE() 用于在给定偏移量处以大端形式将有符号的 32 位整数写入缓冲区。
writeInt32LE() 用于在给定偏移量处以小端形式将有符号的 32 位整数写入缓冲区。
writeIntBE() 用于在给定偏移量处以大端形式将字节长度、字节的值写入缓冲区。
writeIntLE() 用于在给定偏移量处以小字节序形式将字节长度的值写入缓冲区。
writeUInt8() 用于在给定偏移量处将无符号的 8 位值写入缓冲区。
writeUInt16BE() 用于在给定偏移量处以大端形式将无符号 16 位值的字节长度写入缓冲区。
writeUInt16LE() 用于在给定偏移量处以小端形式将无符号的 16 位值写入缓冲区。
writeUInt32BE() 用于在给定偏移量处以大端形式将无符号的 32 位值写入缓冲区。
writeUInt32LE() 用于在给定偏移量处以小端形式将无符号 32 位值写入缓冲区。
writeUIntBE() 用于在给定偏移量处以大端形式将值的无符号字节的字节长度写入缓冲区。
writeUIntLE() 用于在给定偏移量处以小端形式将值的无符号字节的字节长度写入缓冲区。