三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 315|回复: 0
打印 上一主题 下一主题

buf.write(string[, offset][, length][, encoding])

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-7 08:40:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 blake 于 2017-8-7 08:42 编辑

  • string String 类型 - 写到 buffer 里
  • offset Number 类型, 可选参数, 默认值: 0
  • length Number 类型, 可选参数, 默认值: buffer.length - offset
  • encoding String 类型, 可选参数, 默认值: 'utf8'
根据参数 offset 偏移量和指定的 encoding 编码方式,将参数 string 数据写入buffer。 offset 偏移量默认值是 0, encoding 编码方式默认是 utf8。 length 长度是将要写入的字符串的 bytes 大小。 返回 number 类型,表示写入了多少 8 位字节流。如果 buffer 没有足够的空间来放整个 string,它将只会只写入部分字符串。 length 默认是 buffer.length - offset。 这个方法不会出现写入部分字符。
  1. buf = new Buffer(256);
  2. len = buf.write('\u00bd + \u00bc = \u00be', 0);
  3. console.log(len + " bytes: " + buf.toString('utf8', 0, len));
复制代码
buf.writeUIntLE(value, offset, byteLength[, noAssert])
buf.writeUIntBE(value, offset, byteLength[, noAssert])

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


buf.writeIntBE(value, offset, byteLength[, noAssert])
  • value {Number 类型} 准备写到 buffer 字节数
  • offset {Number 类型} 0 <= offset <= buf.length
  • byteLength {Number 类型} 0 < byteLength <= 6
  • noAssert {Boolean} 默认值: false
  • 返回: {Number 类型}
将value 写入到 buffer 里, 它由offset 和 byteLength 决定,支持 48 位计算,例如:
  1. var b = new Buffer(6);
  2. b.writeUIntBE(0x1234567890ab, 0, 6);
  3. // <Buffer 12 34 56 78 90 ab>
复制代码
noAssert 值为 true 时,不再验证 value 和 offset 的有效性。 默认是 false。
buf.readUIntLE(offset, byteLength[, noAssert])

buf.readUIntBE(offset, byteLength[, noAssert])

buf.readIntLE(offset, byteLength[, noAssert])

buf.readIntBE(offset, byteLength[, noAssert])

offset {Number 类型} 0 <= offset <= buf.length
byteLength {Number 类型} 0 < byteLength <= 6
noAssert {Boolean} 默认值: false
返回: {Number 类型}

支持 48 位以下的数字读取。 例如:
  1. var b = new Buffer(6);
  2. b.writeUint16LE(0x90ab, 0);
  3. b.writeUInt32LE(0x12345678, 2);
  4. b.readUIntLE(0, 6).toString(16);  // 指定为 6 bytes (48 bits)
  5. // 输出: '1234567890ab'
复制代码
noAssert 值为 true 时, offset 不再验证是否超过 buffer 的长度,默认为 false。


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-6-27 00:30 , Processed in 0.030001 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表