📜  Node.js Buffer.writeIntBE() 方法(1)

📅  最后修改于: 2023-12-03 14:44:37.963000             🧑  作者: Mango

Node.js Buffer.writeIntBE() 方法

Buffer.writeIntBE() 方法用于将一个16进制的数值写入到Buffer对象中的指定位置,采用big-endian(高位在前)的方式进行写入。

语法
buffer.writeIntBE(value, offset, byteLength[, noAssert])
  • value:要写入的数值(16进制),类型为 Number。
  • offset:写入的位置(Buffer对象的偏移量),类型为 Number。
  • byteLength:写入的字节数,类型为 Number。
  • noAssert:可选参数,为true时,不会检查value参数是否越界或不合法。
示例
const buf = Buffer.alloc(4);
buf.writeIntBE(0x0201, 0, 2);  // 将0x0201写入到偏移量为0的位置,使用2个字节
console.log(buf);  // 输出:<Buffer 02 01 00 00>
返回值

该方法没有返回值。

注意事项
  • 如果不设置noAssert参数,并且value值超出了指定byteLength字节数,则会抛出RangeError异常。
  • 该方法只能写入16进制的整型数据,如果需要写入其他类型数据,需要通过其它方式进行转换。
  • 写入时采用的是big-endian(高位在前)的方式,如果需要写入little-endian(低位在前)的数据,需要使用Buffer.writeIntLE()方法。
  • 写入的数值超过了byteLength所规定的字节数,则会自动截取前byteLength个字节,不足byteLength个字节(如例子中的「02 01」后面的2个0)将用0来补全。
参考链接