NodeJS 子进程标准输出都是数字

NodeJS child process stdout are all numbers

我正在编写一些 node.js 脚本来启动子进程。代码片段如下。

var spawn = require('child_process').spawn; 
var child = spawn ('node', ['script.js'])

child.stdout.on('data', 
    function (data) {
        logger.verbose('tail output: ' + JSON.stringify(data));
    }
);

child.stderr.on('data',
    function (data) {
        logger.error('err data: ' + data);
    }
);

脚本运行良好,除了子进程的标准输出和标准错误仅打印数字输出:

示例输出:

   108,34,44,34,105,110,99,114,101,97,109,101,110,116,97,108,95,112,111,108,108,105

如何将这些数值转换为可读的字符串?

谢谢。

data 是数组缓冲区。调用它的 toString 方法 JSON.stringify(data.toString('utf8'))