Node.js – process.stdin.read()
我刚刚开始学习node.js,并且一直在用process.stdin
和process.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的原始数据。 当input123
, console.log(new Buffer(input))
将输出<Buffer 31 32 33 0a>
。在ASCII代码表0a
只是表示0a
,即你所按的回车键。