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