如何处理 Node.js 中/来自 Node.js 的 (cli) 输出的标准输出流的字符编码?

问题描述 投票:0回答:1
我对如何安全地存储和读取 Node.js 中的

process.stdout

 输出感到困惑:

console.log()

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

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

相关:如果我将 Buffer 转换为 utf8 格式的字符串(默认),对流应用字符串差异是否安全?请注意,我的 diff 渲染器将使用

jsenc

 进行显示,因此它显示不可打印的内容。

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

(欢迎任何相关建议)

javascript node.js encoding stream command-line-interface
1个回答
7
投票
stdout.setEncoding('utf8');
然后您就可以安全地:

stdout.on('data', function(data) { console.log(data); });
    
© www.soinside.com 2019 - 2024. All rights reserved.