buf.writeInt16BE()函数详解

buf.writeInt16BE(value, offset[, noAssert])
buf.writeInt16LE(value, offset[, noAssert])

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