如何处理Node.js中/从节点输出的 (cli) 标准输出流的字符编码



我对如何在 Node 中安全地存储和读取process.stdout输出感到困惑.js:

console.log()(等)的 CLI 输出是否以特定字符编码完成?还是未指定形式的原始二进制文件?可以有二进制数据吗?(我不知道)

Node.js 非常面向 utf8,但 JS 是 UCS2,我不知道流用它做什么。

相关:如果我在 utf8(默认值)中将缓冲区转换为字符串,对流应用字符串差异是否安全?请注意,我的差异渲染器将使用jsenc进行显示,因此它显示不可打印的内容。

用例是,我希望能够安全地断言/比较 CLI 快照,以验证我为各种工具构建的自定义报告器(请注意,这包括发现意外的垃圾/lint 输出,因此我想从 stdio 流中点击真正的最终输出)。

(欢迎任何相关建议)

stdout.setEncoding('utf8');

然后,您可以安全地:

stdout.on('data', function(data) { console.log(data); });

最新更新