如何将节点缓冲区转换为像console.log show这样的string
我想logging缓冲区string,但我不想使用buffer.toString()方法
console.log(new Buffer(12))
显示
< Buffer 00 22 33 11 55 ...>
但是console.log('buffer:' + new Buffer(12))
显示
buffer: something can't read
我想要
buffer: < Buffer 00 22 33 11 55 ...>
干
var b = new Buffer([0x41, 0x42, 0x43, 0x44]); console.log(b); // <Buffer 41 42 43 44>
和做一样
console.log(b.inspect());
而
var b = new Buffer([0x41, 0x42, 0x43, 0x44]); console.log('str' + b); // strABCD
和做一样
console.log('str' + b.toString());
因为使用string连接使用+
自动使用.toString()
将运算符的两端转换为string。 console.log(...)
另一方面通过在可能时调用.inspect()
将其参数转换为string。
最简单的做法是让console.log通过传递多个参数来完成它
console.log('buffer:', new Buffer(12))
注意,而不是一个+
,所以不是使用.toString
连接,而是让console.log
自己对每个参数进行string化。