buf.writeInt32BE()函数详解

buf.writeInt32BE(value, offset[, noAssert])
buf.writeInt32LE(value, offset[, noAssert])

  • value {Number} 需要被写入到 Buffer 的字节
  • offset {Number} 0 <= offset <= buf.length - 4
  • noAssert {Boolean} 默认:false
  • 返回:{Number} 偏移加上被写入的字节数
从该 Buffer 指定的带有特定尾数格式(writeInt32BE() 写入一个较大的尾数,writeInt32LE() 写入一个较小的尾数)的 offset 位置开始写入 value 。value 参数应当是一个有效的有符号的32位整数。当值不是一个有符号的32位整数时,它的行为是不确定的。 将 noAssert 设为 true 将跳过对 value 和 offset 的验证。这意味着 value 可能对于这个特定的函数来说过大,并且 offset 可能超出该 Buffer 的末端,导致该值被直接丢弃。除非确定你的内容的正确性否则不应该被使用。 这个 value 作为一个2的补码的有符号的整数被解释执行和写入。 ``` const buf = Buffer.allocUnsafe(8); buf.writeInt32BE(0x01020304, 0); buf.writeInt32LE(0x05060708, 4); console.log(buf); // Prints: ```
posted @ 2018-11-05 14:00  sfornt  阅读(1410)  评论(0编辑  收藏  举报