Node.js Buffer.writeInt16BE() 方法
Buffer.writeInt16BE() 方法是 Buffer 模块中 Buffer 类的内置应用程序编程接口,用于将整数值以大端格式写入指定偏移量的缓冲区。整数值应该是一个有效的有符号 16 位整数。如果值超出有符号 16 位整数的范围,则会引发错误。整数值被解释为二进制补码有符号整数。
句法:
Buffer.writeInt16BE( value, offset )
参数:此方法接受上面提到的两个参数,如下所述:
- value:它是一个 16 位有符号整数,必须写入缓冲区。
- offset:它是一个整数值,即在开始写入缓冲区之前要跳过的字节数。 offset 的值位于0 到 buf.length-2 之间。它是可选参数,默认值为 0。
返回值:它返回一个整数值,它是偏移量加上写入的字节数的总和。
以下示例说明了在 Node.js 中使用buf.writeInt16BE()方法:
示例 1:
// Node.js program to demonstrate the
// Buffer.writeInt16BE() Method
// Allocate a buffer
const buf = Buffer.allocUnsafe(2);
// Writing the value to the buffer
buf.writeInt16BE(0x7bca);
// Display the buffer value
console.log(buf);
输出:
示例 2:
// Node.js program to demonstrate the
// Buffer.writeInt16BE() Method
// Allocate a buffer
const buf = Buffer.allocUnsafe(4);
// Writing the value to the buffer
// from 0 offset
buf.writeInt16BE(0x7bca, 0);
// Writing the value to the buffer
// from 2 offset
buf.writeInt16BE(0x7fff, 2);
// Display the result
console.log(buf);
输出:
示例 3:
// Node.js program to demonstrate the
// Buffer.writeInt16BE() Method
// Allocate a buffer
const buf = Buffer.allocUnsafe(4);
// Writing the value to the buffer
// from 0 offset
buf.writeInt16BE(0x7bca, 0);
// Writing the value to the buffer
// from 2 offset
buf.writeInt16BE(0x7fff, 3);
// Display the result
console.log(buf);
输出:
internal/buffer.js:72
throw new ERR_OUT_OF_RANGE(type || 'offset',
^
RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range.
It must be >= 0 and <= 2. Received 3
. . .
参考: https://nodejs.org/api/buffer.html#buffer_buf_writeint16be_value_offset