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

10 浏览
0 Comments

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

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

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

Node.js非常依赖utf8,但JS却是UCS2,我不知道流如何处理它。

相关问题是:如果我将Buffer转换为utf8编码的字符串,是否可以安全地对流应用字符串差异?请注意,我的差异渲染器将使用jsenc来显示非可打印字符。

使用案例是我想能够安全地断言/对比CLI快照,以验证我为各种工具构建的自定义报告器(请注意,这包括检测到意外的垃圾/代码规范输出,因此我希望从stdio流中获取真正的最终输出)。

(欢迎提供任何相关建议)

0