首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs将输出字节流转换为可切片的字符串。

Nodejs将输出字节流转换为可切片的字符串。
EN

Stack Overflow用户
提问于 2014-12-30 08:17:02
回答 1查看 622关注 0票数 0

我用npm ssh2模块在远程机器上做'ls -l' &读取数据.在我的connection.exec回调(当命令运行时被调用&将数据发回),我得到了一个看起来像字节数组的数据输出。在行提要的位置,我得到10作为字节值..。

o/p流看起来像,

代码语言:javascript
复制
Object[97, 10, 98, 10, 99, 10]

它是b的ascii形式。

现在,混淆的是如何将它们转换为字符串&用行提要字符对它们进行切片。

我所做的::

代码语言:javascript
复制
var fsArr = JSON.stringify(data).slice(String.fromCharCode(10))
fsArr.forEach(......)

这个错误失败了,

代码语言:javascript
复制
Object[97, 10, 98, 10, 99, 10] has no method 'forEach'

为什么JSON.stringify不将数据字节流转换为有效的字符串?&如果片方法没有返回数组,它还能返回什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-30 12:30:00

您正在获得一个Buffer对象,并且需要一个String。通常这样做就足够了:

代码语言:javascript
复制
var s = String(data)
var fsArr = JSON.stringify(s).slice(String.fromCharCode(10))
fsArr.forEach(......)

编辑:有人善意地指出,“切片”也不是你想要的。您可能希望使用s.split('\n')或类似的表达式在换行符上拆分字符串。

在任何情况下,要将缓冲区数据放入字符串,只需在其上调用String()即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27701845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档