Node.js Buffer模块怎么用?

文章导读
上一个 测验 下一个 Buffer 是计算机内存中的一块空间,用于临时存储二进制数据。Node.js Buffer 模块负责处理二进制数据流。二进制数据是计算机能够理解的数据,按照二进制数字系统用 0 和 1 的组合表示。例如:110011、001110 等。
📋 目录
  1. A 类属性
  2. B 静态方法
  3. C Buffer 类方法
A A

Node.js - Buffer 模块



上一个
测验
下一个

Buffer 是计算机内存中的一块空间,用于临时存储二进制数据。Node.js Buffer 模块负责处理二进制数据流。二进制数据是计算机能够理解的数据,按照二进制数字系统用 0 和 1 的组合表示。例如:110011、001110 等。

在 Node.js 中,buffer 模块是全局可用的。不需要使用 require 来导入它。

类属性

以下是属性列表:

序号 模块 & 描述
1

buf.buffer

它将返回一个 array buffer 对象,从中创建的 buffer 与该 array buffer 相同。

2

buf.byteOffset

它将返回给定 buffer 的 byteOffset 值。

3

buf.length

它将返回 buffer 中的字节数。

4

Buffer.poolSize

它为 Buffer 实例分配字节大小,这些实例随后由 Node.js 用于池化。

5

buf[index]

它用于设置或返回 buffer 中索引位置的八位字节值。

静态方法

以下是方法列表:

序号 模块 & 描述
1

alloc()

用于创建指定大小的新 buffer。

2

allocUnsafe()

用于分配指定大小的新 buffer。如果大小大于 buffer.constants.MAX_LENGTH 或小于 0,将抛出 ERR_INVALID_ARG_VALUE。

3

allocUnsafeSlow()

它将分配指定大小的新 buffer。如果大小大于 buffer.constants.MAX_LENGTH 或小于 0,将抛出 ERR_INVALID_ARG_VALUE。

4

byteLength()

用于返回 buffer 对象的字节长度。

5

compare()

用于比较两个给定的 buffer 对象,并返回表示比较差异的值。

6

concat()

用于通过连接所有给定的 buffer 对象返回单个 buffer 对象。

7

from()

用于使用传入的数组作为字节创建新 buffer。

8

isBuffer()

如果给定的对象是 buffer,则返回 true。

9

isEncoding()

如果给定的编码值是支持的字符编码,则返回 true;否则返回 false。

Buffer 类方法

以下是方法列表 −

序号 模块 & 描述
1

readBigInt64LE()

用于从 buffer 的指定偏移量处以 little endian 形式读取一个有符号 64 位整数。

2

compare()

用于处理两个 buffer 对象的比较,并返回表示比较差异的值。

3

readBigInt64BE()

用于从 buffer 对象的指定偏移量处读取一个有符号 big endian 64 位整数。

4

lastIndexOf()

负责在 buffer 内搜索值。它返回值所在的位置,如果值不存在则返回 -1。

5

readBigUInt64LE()

用于从当前 buffer 对象的指定偏移量处读取一个无符号 little-endian 64 位整数。

6

readDoubleBE()

用于从当前 buffer 对象的指定偏移量处读取一个 big-endian double 64 位数字。

7

readDoubleLE()

用于从当前 buffer 对象的指定偏移量处读取一个 little-endian double 64 位数字。

8

readFloatBE()

用于从当前 buffer 对象的指定偏移量处读取一个 big-endian float 32 位数字。

9

readFloatLE()

用于从当前 buffer 对象的指定偏移量处读取一个 little-endian float 32 位数字。

10

readInt8()

用于从当前 buffer 对象的指定偏移量处读取一个 8 位有符号数字。

11

writeDoubleBE()

用于将一个 big-endian double 数字写入到创建的 buffer 的指定偏移量处。

12

writeDoubleLE()

用于将一个 little-endian double 数字写入到创建的 buffer 的指定偏移量处。

13

writeFloatBE()

用于将一个 big-endian float 32 位数字写入到当前 buffer 对象的指定偏移量处。

14

writeFloatLE()

用于将一个 little-endian float 32 位数字写入到当前 buffer 对象的指定偏移量处。

15

copy()

用于将源 buffer 对象的内容复制到目标 buffer 中。

16

entries()

用于从给定的 buffer 创建一个迭代器对象,并返回 buffer 内容中的 [index, byte] 对。

17

equals()

用于比较两个 buffer,如果相等则返回 true,否则返回 false。

18

fill()

用于用给定的值填充 buffer。如果未指定 buffer 内的范围,则会填充整个 buffer。

19

includes()

用于检查给定的值是否在 buffer 中存在或包含在内。如果存在则返回 true,否则返回 false。

20

indexOf()

负责在 buffer 内搜索值。它返回值起始的位置,如果值不存在则返回 -1。

21

keys()

用于返回一个迭代器对象。遍历该对象时,会给出 buffer 对象中每个 byte 的键。

22

readBigUInt64BE()

用于从当前 buffer 对象的指定偏移量处读取一个无符号 big-endian 64 位整数。

23

readInt16BE()

用于从 buffer 的指定偏移量处以 big endian 形式读取一个有符号 16 位整数。

24

readInt16LE()

用于从 buffer 的指定偏移量处以 little endian 形式读取一个有符号 16 位整数。

25

readInt32BE()

用于从 buffer 的指定偏移量处以 big endian 形式读取一个有符号 32 位整数。

26

readInt32LE()

用于从 buffer 的指定偏移量处以 little endian 形式读取一个有符号 32 位整数。

27

readIntBE()

用于从 buffer 的指定偏移量处以 big endian 格式读取指定字节数。

28

readIntLE()

用于从 buffer 的指定偏移量处以 little endian 格式读取指定字节数。

29

readUInt8()

用于从当前 buffer 对象的指定偏移量处读取一个 8 位无符号数字。

30

readUInt16BE()

用于从 buffer 的指定偏移量处以 big endian 形式读取一个无符号 16 位整数。

31

readUInt16LE()

用于从 buffer 的指定偏移量处以 little endian 形式读取一个无符号 16 位整数。

32

readUInt32BE()

用于从 buffer 的指定偏移量处以 big endian 形式读取一个无符号 32 位整数。

33

readUInt32LE()

用于从 buffer 的指定偏移量处以 little endian 形式读取一个无符号 32 位整数。

34

readUIntBE()

用于根据字节长度和偏移量读取指定字节数,并从使用的 buffer 返回 big endian 格式的无符号整数。

35

readUIntLE()

用于根据字节长度和偏移量读取指定字节数,并从使用的 buffer 返回 little endian 格式的无符号整数。

36

subarray()

用于基于原始 buffer 的给定起始和结束偏移量值返回一个新的 buffer。

37

swap16(), swap32(), swap64()

这些方法将 buffer 视为无符号 16 或 32 或 64 位整数数组,就地交换字节顺序,并返回 buffer 的引用。

38

toJSON()

用于为给定的 buffer 返回一个 JSON 对象。

39

toString()

用于根据给定的编码解码字符串。

40

values()

用于返回一个迭代器对象,其中包含 buffer 中所有 byte 的详细信息。

41

write()

用于将给定的字符串值从偏移量指定的位置写入到 buffer 中。

42

writeBigInt64BE()

用于将一个有符号 64 位整数以 big endian 形式写入到 buffer 的指定偏移量处。

43

writeBigInt64LE()

用于将一个有符号 64 位整数以 little endian 形式写入到 buffer 的指定偏移量处。

44

writeBigUInt64LE()

用于将一个无符号 64 位整数以 little endian 形式写入到 buffer 的指定偏移量处。

45

writeInt8()

用于将一个有符号 8 位整数的值写入到 buffer 的指定偏移量处。

46

writeInt16BE()

用于将一个有符号 16 位整数以 big endian 形式写入到 buffer 的指定偏移量处。

47

writeInt16LE()

用于将一个有符号 16 位整数以 little endian 形式写入到 buffer 的指定偏移量处。

48

writeInt32BE()

用于将一个有符号 32 位整数以 big endian 形式写入到 buffer 的指定偏移量处。

49

writeInt32LE()

用于将一个有符号 32 位整数以 little endian 形式写入到 buffer 的指定偏移量处。

50

writeIntBE()

用于将指定字节长度的值以 big endian 形式写入到 buffer 的指定偏移量处。

51

writeIntLE()

用于将指定字节长度的值以 little endian 形式写入到 buffer 的指定偏移量处。

52

writeUInt8()

用于将一个无符号 8 位整数的值写入到 buffer 的指定偏移量处。

53

writeUInt16BE()

用于将一个无符号 16 位整数的值以 big endian 形式写入到 buffer 的指定偏移量处。

54

writeUInt16LE()

用于将一个无符号 16 位整数的值以 little endian 形式写入到 buffer 的指定偏移量处。

55

writeUInt32BE()

用于将一个无符号 32 位整数的值以 big endian 形式写入到 buffer 的指定偏移量处。

56

writeUInt32LE()

用于将一个无符号 32 位整数的值以 little endian 形式写入到 buffer 的指定偏移量处。

57

writeUIntBE()

用于将指定字节长度的无符号字节值以 big endian 形式写入到 buffer 的指定偏移量处。

58

writeUIntLE()

用于将指定字节长度的无符号字节值以 little endian 形式写入到 buffer 的指定偏移量处。

nodejs_buffer_module.htm