我对如何在 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); });