gpt4 book ai didi

node.js - child_process.exec 产生 "♀"字符

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:31 25 4
gpt4 key购买 nike

我有一个简单的 child_process.exec 语句,由于某种原因,它的输出(stdout)总是在开头有一个“♀”字符

var exec = require('child_process').exec;
exec('echo hi', function (err, stdout) {
console.log(stdout);
});

[scr]

我的 Node 是v0.12,我还安装了iojs,它是v2.3。我分别对两者进行了测试,结果相同。我还在不同的控制台中测试了它 - cmd.exe、powershell 和 Git 的 sh.exe,结果相同。

这个角色应该出现吗?如果不是,可能是什么产生的?

最佳答案

根据child_processdocumentation ,传递给 stdout 的对象是一个缓冲区对象。您需要先对其进行解码,然后再将其打印为字符串。

我修改了您的代码来演示如何做到这一点。该符号不再出现在我的控制台中。

var exec = require('child_process').exec;

var StringDecoder = require('string_decoder').StringDecoder;
var decoder = new StringDecoder('utf8');

exec('echo hi', function (err, stdout) {
var message = decoder.write(stdout);
console.log(message.trim());
});

有关字符串解码器的更多详细信息,您可以随时查看文档 here

关于node.js - child_process.exec 产生 "♀"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31465633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com