我什至不确定如何正确地问这个问题,但是由于我对真正是什么标准输入和fact that:
的有限了解没有纯文本这样的东西。如果您有字符串,请输入 内存,文件或电子邮件中,您必须知道 对其进行编码,否则您将无法对其进行解释或将其显示给用户 正确
然后我认为这个问题很有意义:bash的默认编码是什么?
在Node.js
应用的上下文中,监听用户的输入:
process.stdin
.pipe(through(chunk, _, next) {
console.log(chunk.toString()) // chunk is an instance of Buffer
next()
})
使用node app.js
启动它并按下字符a
时,它会被正确解码回去(“标准输出”显示a
),根据文档,这意味着它被解码为utf-8
编码字符(因为它是toString()
方法的默认值)。
由于utf8与ascii
向后兼容,因此当我按下字符a
时,它可能是ascii
或utf8
(或任何其他ascii
兼容编码,尽管我假设这不太可能。因此可以归结为:
terminal
?bash
?)ascii
? utf8
?我很困惑