假设我正在 Node.js 中构造一个可变长度的字符串或一系列字节。 buf.write 的文档说:
https://nodejs.org/api/buffer.html#buffer_buf_write_string_offset_length_encoding https://nodejs.org/api/buffer.html#buffer_buf_write_string_offset_length_encoding
根据中的字符编码将字符串写入到偏移量处的 buf
编码。长度参数是要写入的字节数。如果缓冲
没有足够的空间来容纳整个字符串,仅包含部分字符串
将写入的字符串数量。然而,部分编码
字符将不会被写入。
假设我想写入的数据多于缓冲区的空间。推荐的种植方式是什么?好像没有一个.grow
方法或类似方法。我可以打电话Buffer.from(buf)
创建一个新的缓冲区,但这似乎效率低下。
如果您在每次添加后不需要整个缓冲区的所有内容,我认为您可以在这里使用一个块(缓冲区)数组,Buffer.concat(chunks)
必要时构建整个缓冲区。
const chunks = [];
chunks.push(Buffer.from([0xE2, 0xAD, 0x90])); // star
chunks.push(Buffer.from([0xF0, 0x9F, 0x9A, 0x80])); // rocket
const buf = Buffer.concat(chunks);
console.log(buf.toString());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)