📜  Node.js Buffer.writeUIntLE() 方法

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

Node.js Buffer.writeUIntLE() 方法

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

句法:

Buffer.writeUIntLE( value, offset, byteLength )

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

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

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

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

示例 1:

// Node.js program to demonstrate the  
// Buffer.writeUIntLE() 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.writeUIntLE(0x12127474, 0, 4);
   
// Display the result 
console.log(buffer_1);
   
// Creating a buffer of size 6
const buffer_2 = Buffer.allocUnsafe(6);
buffer_2.writeUIntLE(0x12127474abcd, 0, 6);
   
// Display the result 
console.log(buffer_2);

输出:



示例 2:

// Node.js program to demonstrate the  
// Buffer.writeUIntLE() 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.writeUIntLE(0xcc1267280012, 0, 6);
console.log(buffer);
   
// to fill next 2 bytes add 6 offet
// and bytelength 2
console.log("After filling next 2 bytes");
buffer.writeUIntLE(0x1112, 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_writeuintle_value_offset_bytelength