我正在使用一个库,调用函数会返回缓冲区的toString。
具体代码如下:
return Buffer.concat(stdOut).toString('utf-8');
但我不想要它的字符串版本。
我只想要缓冲区。
那么如何将字符串转换回缓冲区。
类似于if语句。
var bufStr = Buffer.concat(stdOut).toString('utf-8');
//convert bufStr back to only Buffer.concat(stdOut).
如何做到这一点?
我尝试过做
var buf = Buffer.from(bufStr, 'utf-8');
但是它会抛出“utf-8不是函数”的错误。当我执行时。var buf = Buffer.from(bufStr);
它抛出了TypeError:this不是一个类型数组。
谢谢
Buffer.from(bufStr, 'utf-8');
但它提示 utf-8 不是一个函数。如果我省略第二个参数 utf-8,那么它会抛出 TypeError: this is not a typed array。 - AniketBuffer(bufStr)
即可。 - John Zwinckiconv-lite
更好,因为它使用客户端 JS 世界中的标准字符集名称(如utf-8
),而不是 NodeJS 的重新定义(如utf8
)。 - user1742529Buffer.from(str)
足够了,因为'utf8'是默认值。https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_string_encoding - bobmoff