• Node.js Video Tutorials

Node.js - Buffer 模块



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

在 Node.js 中,Buffer 模块是全局可用的。您无需使用 require 来导入它。

类属性

以下是属性列表:

序号 模块及描述
1

buf.buffer

它将为您提供一个数组缓冲区的对象,并且由此创建的缓冲区将与数组缓冲区相同。

2

buf.byteOffset

它将为您提供给定缓冲区的 byteOffset 值。

3

buf.length

它将为您提供缓冲区中的字节数。

4

Buffer.poolSize

它为稍后由 NodeJs 用于池化的 Buffer 实例分配以字节为单位的大小。

5

buf[index]

它有助于设置或返回缓冲区中索引位置处的八位字节值。

静态方法

以下是方法列表:

序号 模块及描述
1

alloc()

用于创建具有给定大小的新缓冲区。

2

allocUnsafe()

用于分配具有给定大小的新缓冲区。如果大小大于 buffer.constants.MAX_LENGTH 或小于 0,则将抛出 ERR_INVALID_ARG_VALUE。

3

allocUnsafeSlow()

它将分配具有给定大小的新缓冲区。如果大小大于 buffer.constants.MAX_LENGTH 或小于 0,则将抛出 ERR_INVALID_ARG_VALUE。

4

byteLength()

用于返回缓冲区对象的长度(以字节为单位)。

5

compare()

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

6

concat()

通过连接所有给定的缓冲区对象,用于返回单个缓冲区对象

7

from()

用于使用作为字节传递的数组创建新的缓冲区。

8

isBuffer()

如果给定的对象是缓冲区,则返回 true。

9

isEncoding()

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

Buffer 类方法

以下是方法列表:

序号 模块及描述
1

readBigInt64LE()

用于以小端格式从缓冲区中给定偏移量读取有符号的 64 位整数。

2

compare()

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

3

readBigInt64BE()

用于从缓冲区对象中给定偏移量读取有符号的大端 64 位整数。

4

lastIndexOf()

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

5

readBigUInt64LE()

用于从当前缓冲区对象中给定偏移量读取无符号的小端 64 位整数。

6

readDoubleBE()

用于从当前缓冲区对象中给定偏移量读取大端双精度 64 位数。

7

readDoubleLE()

用于从当前缓冲区对象中给定偏移量读取小端双精度 64 位数。

8

readFloatBE()

用于从当前缓冲区对象中给定偏移量读取大端浮点数 32 位数。

9

readFloatLE()

用于从当前缓冲区对象中给定偏移量读取小端浮点数 32 位数。

10

readInt8()

用于从当前缓冲区对象中给定偏移量读取 8 位有符号数。

11

writeDoubleBE()

用于在创建的缓冲区的给定偏移量写入大端双精度数。

12

writeDoubleLE()

用于在创建的缓冲区的给定偏移量写入小端双精度数。

13

writeFloatBE()

用于在当前缓冲区对象的给定偏移量写入大端浮点数 32 位数。

14

writeFloatLE()

用于在当前缓冲区对象的给定偏移量写入小端浮点数 32 位数。

15

copy()

用于将源缓冲区对象的内容复制到目标缓冲区。

16

entries()

用于从给定的缓冲区创建迭代器对象,并从缓冲区内容返回一对 [索引,字节]。

17

equals()

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

18

fill()

用于使用给定值填充缓冲区。如果未指定缓冲区内的范围,它将填充整个缓冲区。

19

includes()

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

20

indexOf()

它负责在缓冲区内搜索值。它返回值开始的位置,如果值不存在则返回 -1。

21

keys()

用于返回迭代器对象。当循环遍历该对象时,它将提供缓冲区对象中每个字节的键。

22

readBigUInt64BE()

用于从当前缓冲区对象中给定偏移量读取无符号的大端 64 位整数。

23

readInt16BE()

用于以大端格式从缓冲区中给定偏移量读取有符号的 16 位整数。

24

readInt16LE()

用于以小端格式从缓冲区中给定偏移量读取有符号的 16 位整数。

25

readInt32BE()

用于以大端格式从缓冲区中给定偏移量读取有符号的 32 位整数。

26

readInt32LE()

用于以小端格式从缓冲区中给定偏移量读取有符号的 32 位整数。

27

readIntBE()

用于以大端格式从缓冲区中给定偏移量读取一定数量的字节。

28

readIntLE()

用于以小端格式从缓冲区中给定偏移量读取一定数量的字节。

29

readUInt8()

用于从当前缓冲区对象中给定偏移量读取 8 位无符号数。

30

readUInt16BE()

用于以大端格式从缓冲区中给定偏移量读取无符号的 16 位整数。

31

readUInt16LE()

用于以小端格式从缓冲区中给定偏移量读取无符号的 16 位整数。

32

readUInt32BE()

用于以大端格式从缓冲区中给定偏移量读取无符号的 32 位整数。

33

readUInt32LE()

用于以小端格式从缓冲区中给定偏移量读取无符号的 32 位整数。

34

readUIntBE()

用于根据字节长度和偏移量读取一定数量的字节,并以大端格式返回来自所用缓冲区的无符号整数。

35

readUIntLE()

用于根据字节长度和偏移量读取一定数量的字节,并以小端格式返回来自所用缓冲区的无符号整数。

36

subarray()

用于根据原始缓冲区上的给定起始和结束偏移值返回新的缓冲区。

37

swap16()、swap32()、swap64()

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

38

toJSON()

用于为给定的缓冲区返回 JSON 对象。

39

toString()

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

40

values()

用于返回一个迭代器对象,该对象包含缓冲区中所有字节的详细信息。

41

write()

用于将给定的字符串值从偏移值给定的位置写入缓冲区。

42

writeBigInt64BE()

用于以大端格式将有符号的 64 位整数写入缓冲区的给定偏移量。

43

writeBigInt64LE()

用于以小端格式将有符号的 64 位整数写入缓冲区的给定偏移量。

44

writeBigUInt64LE()

用于以小端格式将无符号的 64 位整数写入缓冲区的给定偏移量。

45

writeInt8()

用于将值的有符号 8 位整数写入缓冲区的给定偏移量。

46

writeInt16BE()

用于以大端格式将有符号的 16 位整数写入缓冲区的给定偏移量。

47

writeInt16LE()

用于以小端格式将有符号的 16 位整数写入缓冲区的给定偏移量。

48

writeInt32BE()

用于以大端格式将有符号的 32 位整数写入缓冲区的给定偏移量。

49

writeInt32LE()

用于以小端格式将有符号的 32 位整数写入缓冲区的给定偏移量。

50

writeIntBE()

用于以大端格式将值字节长度的字节写入缓冲区的给定偏移量。

51

writeIntLE()

用于以小端格式将值字节长度的字节写入缓冲区的给定偏移量。

52

writeUInt8()

用于将值的有符号 8 位整数写入缓冲区的给定偏移量。

53

writeUInt16BE()

用于以大端格式将值无符号 16 位整数的字节长度写入缓冲区的给定偏移量。

54

writeUInt16LE()

用于以小端格式将值无符号 16 位整数写入缓冲区的给定偏移量。

55

writeUInt32BE()

用于以大端格式将值无符号 32 位整数写入缓冲区的给定偏移量。

56

writeUInt32LE()

用于以小端格式将给定偏移量处值为无符号 32 位整数写入缓冲区。

57

writeUIntBE()

用于以大端格式将给定偏移量处值为无符号字节的字节长度写入缓冲区。

58

writeUIntLE()

用于以小端格式将给定偏移量处值为无符号字节的字节长度写入缓冲区。

nodejs_buffer_module.htm
广告