buf.writeIntBE()函数详解

buf.writeIntBE(value, offset, byteLength[, noAssert])
buf.writeIntLE(value, offset, byteLength[, noAssert])

  • value {Number} 需要被写入到 Buffer 的字节
  • offset {Number} 0 <= offset <= buf.length - byteLength
  • byteLength {Number} 默认:0 < byteLength <= 6+
  • noAssert {Boolean} 默认:false
  • 返回:{Number} 偏移加上被写入的字节数
通过指定的 offset 和 byteLength 将 value 写入到当前 Buffer 中。支持多达 48 位的精度。例如: ``` const buf1 = Buffer.allocUnsafe(6); buf1.writeUIntBE(0x1234567890ab, 0, 6); console.log(buf1); // Prints:

const buf2 = Buffer.allocUnsafe(6);
buf2.writeUIntLE(0x1234567890ab, 0, 6);
console.log(buf2);
// Prints: <Buffer ab 90 78 56 34 12>

将 noAssert 设为 true 将跳过对 value 和 offset 的验证。这意味着 value 可能对于这个特定的函数来说过大,并且 offset 可能超出该 Buffer 的末端,导致该值被直接丢弃。除非确定你的内容的正确性否则不应该被使用。
当值不是一个整数时,它的行为是不确定的。
原文地址:https://www.cnblogs.com/lalalagq/p/9908712.html