📜  Node.js Buffer.writeInt16BE() 方法

📅  最后修改于: 2022-05-13 01:56:31.213000             🧑  作者: Mango

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