我用npm ssh2模块在远程机器上做'ls -l' &读取数据.在我的connection.exec回调(当命令运行时被调用&将数据发回),我得到了一个看起来像字节数组的数据输出。在行提要的位置,我得到10作为字节值..。
o/p流看起来像,
Object[97, 10, 98, 10, 99, 10]它是b的ascii形式。
现在,混淆的是如何将它们转换为字符串&用行提要字符对它们进行切片。
我所做的::
var fsArr = JSON.stringify(data).slice(String.fromCharCode(10))
fsArr.forEach(......)这个错误失败了,
Object[97, 10, 98, 10, 99, 10] has no method 'forEach'为什么JSON.stringify不将数据字节流转换为有效的字符串?&如果片方法没有返回数组,它还能返回什么?
发布于 2014-12-30 12:30:00
您正在获得一个Buffer对象,并且需要一个String。通常这样做就足够了:
var s = String(data)
var fsArr = JSON.stringify(s).slice(String.fromCharCode(10))
fsArr.forEach(......)编辑:有人善意地指出,“切片”也不是你想要的。您可能希望使用s.split('\n')或类似的表达式在换行符上拆分字符串。
在任何情况下,要将缓冲区数据放入字符串,只需在其上调用String()即可。
https://stackoverflow.com/questions/27701845
复制相似问题