2015-04-28 10 views
7

Ich schreibe einige node.js Skripte, um einen Kindprozess zu starten. Code-Snippet ist wie folgt.NodeJS Kindprozess stdout sind alle Zahlen

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); 
    } 
); 

Script läuft gut, außer dass stdout und stderr druckt Kind Prozess nur numerische Ausgänge:

Beispielausgabe:

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

Wie konvertiere ich diese numerischen Werte lesbaren String?

Danke.

+0

Versuchen Sie, data.toString ('utf8'); http://stackoverflow.com/questions/12121775/convert-streamed-buffers-to-utf8-string – vanadium23

Antwort

5

data ist ein Array-Puffer. Rufen Sie die toString-Methode auf JSON.stringify(data.toString('utf8'))

+0

Perfekt! Danke, Moogs. – Lee