Buffer.from & stdout.write,意外行为



这个问题还没有得到回答,次要方面不是问题的重点

所以我遇到了一些意想不到的行为,正在寻找解释。我假设它与Buffer如何格式化数据以及process.stdout.write如何读取数据有关。

当运行下面的代码时,我的输出是3个表情符号,一个黑白笑脸和一颗心。然而,当我运行相同的代码并使用console.log进行检查时,我认为它只是process.stdout.write的包装器,然后它输出Buffer。这是什么原因?我的猜测是,stdout.write在将缓冲区指定为表情符号的编码中读取缓冲区,但如果是这样,为什么console.log不这样做呢?

const buf2 = Buffer.from([1,2,3])
process.stdout.write(buf2)

这里对此有很好的解释:";process.stdout.write";以及";console.log";在node.js中?

简而言之,console.log使用process.stdout,但在输出之前执行格式化

最新更新