2015-04-28 9 views
7

Sto scrivendo alcuni script node.js per avviare un processo figlio. Lo snippet di codice è il seguente.Lo stdout del processo figlio NodeJS sono tutti i numeri

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 viene eseguito bene tranne stdout e stderr stampe di quel processo figlio uscite solo numerici: uscita

Esempio:

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

Come posso convertire questi valori numerici a stringa leggibile?

Grazie.

+0

Prova a utilizzare data.toString ('utf8'); http://stackoverflow.com/questions/12121775/convert-streamed-buffers-to-utf8-string – vanadium23

risposta

5

data è un buffer di array. Chiama il metodo toString JSON.stringify(data.toString('utf8'))

+0

Perfetto! Grazie, Moog. – Lee