📜  Node.js | Buffer.writeDoubleBE() 方法

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

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