buf.writeDoubleBE()函数详解

 

buf.writeDoubleBE(value, offset[, noAssert])
buf.writeDoubleLE(value, offset[, noAssert])

  • value {Number} 需要被写入到 Buffer 的字节+
  • offset {Number} 0 <= offset <= buf.length - 8
  • noAssert {Boolean} 默认:false
  • 返回:{Number} 偏移加上被写入的字节数

从该 Buffer 指定的带有特定尾数格式(writeDoubleBE() 写入一个较大的尾数,writeDoubleLE() 写入一个较小的尾数)的 offset 位置开始写入 value 。value 参数应当是一个有效的64位双精度值。当值不是一个64位双精度值时,它的行为是不确定的。
将 noAssert 设为 true 将跳过对 value 和 offset 的验证。这意味着 value 可能对于这个特定的函数来说过大,并且 offset 可能超出该 Buffer 的末端,导致该值被直接丢弃。除非确定你的内容的正确性否则不应该被使用。
例子:

            const buf = Buffer.allocUnsafe(8);

  1. buf.writeDoubleBE(0xdeadbeefcafebabe, 0);
  2. console.log(buf);
  3. // Prints: <Buffer 43 eb d5 b7 dd f9 5f d7>
  4. buf.writeDoubleLE(0xdeadbeefcafebabe, 0);
  5. console.log(buf);
  6. // Prints: <Buffer d7 5f f9 dd b7 d5 eb 43>

 

 
posted @ 2021-09-14 16:34  威武的大萝卜  阅读(81)  评论(0编辑  收藏  举报