📜  Node.js Buffer.writeUIntBE() 方法

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

Node.js Buffer.writeUIntBE() 方法

Buffer.writeUIntBE()方法用于使用大端格式将指定字节写入 Buffer 对象。它支持高达 6 字节的精度。当您使用除无符号整数以外的任何值时,它的行为是未定义的。

句法:

Buffer.writeUIntBE( value, offset, byteLength )

参数:此方法接受三个参数,如上所述,如下所述:

  • value:指定需要写入 Buffer 对象的数量。
  • offset:它指定在开始写入缓冲区之前要跳过的字节数。 offset 的值是0 <= offset <= buf.length – byteLength
  • byteLength:它指定要写入缓冲区的字节数。 byteLength 的值是0 < byteLength <= 6

返回值:它返回偏移量加上写入的字节数。

下面的例子说明了 Node.js 中 Buffer.writeUIntBE() 方法的使用:

示例 1:

// Node.js program to demonstrate the  
// Buffer.writeUIntBE() method 
  
// Creating a buffer of size 4 
const buffer_1 = Buffer.allocUnsafe(4);
  
// Writes byteLength bytes of value to buf
// at the specified offset.
buffer_1.writeUIntBE(0x13141516, 0, 4);
  
// Display the result 
console.log(buffer_1);
  
// Creating a buffer of size 6
const buffer_2 = Buffer.allocUnsafe(6);
buffer_2.writeUIntBE(0x131314141515, 0, 6);
  
// Display the result 
console.log(buffer_2);

输出:



示例 2:

// Node.js program to demonstrate the  
// Buffer.writeUIntBE() method 
  
// Creating a buffer of given size 
const buffer = Buffer.allocUnsafe(8);
//Before writing anything
console.log("Before filling buffer");
console.log(buffer);
  
// To fill first 6 bytes, take offset 0
// and bytelength 6
console.log("After filling 6 bytes");
buffer.writeUIntBE(0xaa1313147586, 0, 6);
console.log(buffer);
  
// To fill next 2 bytes add 6 offet
// and bytelength 2
console.log("After filling next 2 bytes");
buffer.writeUIntBE(0x0123, 6, 2)
console.log(buffer);

输出:

Before filling buffer

After filling 6 bytes

After filling next 2 bytes

注意:以上程序将使用node index.js命令编译运行。

参考: https://nodejs.org/api/buffer.html#buffer_buf_writeuintbe_value_offset_bytelength