Node.js – process.stdin.read()

我刚刚开始学习node.js,并且一直在用process.stdinprocess.stdout玩耍; 为什么process.stdin.read()返回的string长度比实际input的长度要长?

 process.stdin.setEncoding('utf8'); process.stdin.on('readable', () => { var input = process.stdin.read(); if(input !== null) { process.stdout.write(`stdout: ${input}\n`); var command = input.trim(); console.log(input.length); //this one is always 1 longer console.log(command.length); if(command === 'quit') { process.exit(0); } } }); 

您可以将input转换为一个Buffer对象,并查看input的原始数据。 当input123console.log(new Buffer(input))将输出<Buffer 31 32 33 0a> 。在ASCII代码表0a只是表示0a ,即你所按的回车键。