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); buf.writeDoubleBE(0xdeadbeefcafebabe, 0);

console.log(buf);
// Prints: <Buffer 43 eb d5 b7 dd f9 5f d7>

buf.writeDoubleLE(0xdeadbeefcafebabe, 0);

console.log(buf);
// Prints: <Buffer d7 5f f9 dd b7 d5 eb 43>

posted @ 2018-11-05 13:48  sfornt  阅读(435)  评论(0编辑  收藏  举报