Node.js | Buffer.writeDoubleBE() 方法
Buffer.writeDoubleBE() 方法是 Buffer 模块中 Buffer 类的内置应用程序编程接口,用于将 big endian 64 位双精度值写入指定偏移量处的已分配缓冲区。
句法:
Buffer.writeDoubleBE( value, offset )
参数:此方法接受上面提到和下面描述的两个参数:
- value:此参数指定要写入缓冲区的 4 字节浮点值。它应该是一个有效的 64 位大端双精度值。当值不是这个时,行为是未定义的。
- 偏移量:它指定写入前要跳过的字节数或仅表示缓冲区中的索引。 offset 的值是0 <= offset <= Buffer.length – 8 。其默认值为 0。
返回值:此方法返回一个整数值,它是偏移量和写入的字节数之和。
下面的例子说明了 Node.js 中 Buffer.writeDoubleBE() 方法的使用:
示例 1:
// Node.js program to demonstrate the
// Buffer.writeDoubleBE() method
// Allocating 32 bytes buffer
const buf = Buffer.allocUnsafe(32);
// Writing 64bits or 8 bytes double values
// to the buffer and printing returned
// value to console
console.log(buf.writeDoubleBE(123.123, 0));
console.log(buf.writeDoubleBE(166.089, 8));
console.log(buf.writeDoubleBE(231.678, 16));
console.log(buf.writeDoubleBE(341.781, 24));
// Display the buffer
console.log(buf);
输出:
8
16
24
32
示例 2:
// Node.js program to demonstrate the
// Buffer.writeDoubleBE() method
// Allocating 16 bytes buffer
const buf = Buffer.allocUnsafe(16);
// Printing buffer before writing value
console.log("Before writing into buffer:");
console.log(buf);
// Writing 64 bits or 8 bytes double values
// to the buffer and printing returned
// value to console
console.log(buf.writeDoubleBE(219.098, 0));
console.log(buf.writeFloatBE(169.096, 8));
// Printing the buffer after writing into buffer
console.log("After writing into buffer:");
console.log(buf);
输出:
Before writing into buffer:
8
12
After writing into buffer:
注意:上述程序将使用node index.js
命令进行编译和运行。
参考: https://nodejs.org/api/buffer.html#buffer_buf_writedoublebe_value_offset