Buffer.writeUIntLE()方法用于使用Little Endian将指定的字节写入Buffer对象。它支持高达48位的精度。当您使用无符号整数以外的任何值时,其行为是不确定的。
用法:
Buffer.writeUIntLE( value, offset, byteLength )
参数:此方法接受上述和以下所述的三个参数:
- value:它指定需要写入Buffer对象的编号。
- offset:它指定开始写入缓冲区之前要跳过的字节数。 offset的值为0
- byteLength:它指定要写入缓冲区的字节数。 byteLength的值为0
返回值:它返回偏移量加上写入的字节数。
以下示例说明了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);
输出:
<Buffer 74 74 12 12> <Buffer cd ab 74 74 12 12>
范例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 <Buffer 00 00 00 00 00 00 00 00> After filling 6 bytes <Buffer 12 00 28 67 12 cc 00 00> After filling next 2 bytes <Buffer 12 00 28 67 12 cc 12 11>
注意:上面的程序将通过使用node index.js
命令。
参考: https://nodejs.org/api/buffer.html#buffer_buf_writeuintle_value_offset_bytelength
相关用法
注:本文由纯净天空筛选整理自gjaiswal108大神的英文原创作品 Node.js | Buffer.writeUIntLE() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。