0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将字符串转换为二进制流

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-09 16:46 次阅读

Linux,很多命令都接受标准输入作为命令的参数。比如grep,echo命令都是可以接受标准输入作为命令的参数。

grep命令的全称是全局正则表达式打印,它是Linux中功能最强大且最常用的命令之一。

grep在一个或多个输入文件中搜索与指定模式匹配的行,并将匹配行写入标准输出。如果未指定文件,grep则从标准输入读取内容。

在本教程中,我们将在dart创建进程运行grep命令并将通过管道传递字符串作为grep命令的参数,参数将作为grep命令的标准输入传递。

在dart,进程的标准输入仅接受一个参数并且类型是Stream,因此不能直接传递字符串给进程的标准输入。

必须在传递给进程的标准输入之前将字符串转换为二进制流。转换字符串为二进制流,这涉及两个步骤的操作。

第一步是将字符串转换为二进制的的值,在这一步骤中,dart内置Utf8Codec对象encode方法可以帮助我们转换字符串为二进制。

第二步使用二进制的值创建流Stream。Stream对象value函数从指定的值创建流Stream。

value函数可以接受任意类型的值。如果传递给value函数的值是二进制类型,将会返回一个二进制流Stream

最后,我们就可以使用Stream管道pipe函数传递到进程的标准输入。

在下面的示例中,我们将启动grep命令的进程,grep进程将在标准输入中读取参数搜索hello字符串。

import 'dart:io';
import 'dart:convert';

main() async {
  var grep = await Process.start('grep', ['hello']);
  Stream.value(const Utf8Codec().encode(server)).pipe(grep.stdin);
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10994

    浏览量

    206780
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20155
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • grep
    +关注

    关注

    0

    文章

    22

    浏览量

    4681
收藏 人收藏

    评论

    相关推荐

    关于字符串转换的问题

    怎样一个字符串(比如字符串“2012”)分别转换成十六进制,八进制
    发表于 10-15 18:08

    在labview中如何将一个8位二进制的字节转换为2个4位的十六...

    各位大神,求助啊!在labview中如何将一个8位二进制的字节转换为2个4位的十六进制字符
    发表于 01-18 13:38

    字符串转换16进制

    各位前辈求教 如何将内容为5F的字符串转换为内容为5F的16进制数谢谢貌似只有各种进制数转字符串
    发表于 03-21 14:27

    二进制字符串到十六进制字符串转换 拿来分享

    自己做的二进制字符串到十六进制字符串转换拿来分享
    发表于 07-24 11:36

    如何将秒数转换为时间字符串

    请问如何将数值型秒数转换为时间字符串?比如3600s转换为01:00:00
    发表于 03-30 13:15

    如何高效的字符串二进制数组

    下载了串口显波形vi,感觉用处不大,如果能改成逻辑分析仪就爽了,先试着串口收到的数据显示成二进制波形,但是字符串一个个转成布尔数组再显示,感觉效率不高,有没有高效一点的方法,我试着
    发表于 05-24 18:53

    如何把二进制字符串存入Access的OLE对象字段里面,语法报错?

    我有一个簇数组,我把它平化至字符串,然后写入到数据库的OLE对象字段里面,INSERT INTO TABLE(字段) VALUES(字符串)写入字符串到文本字段的语法没问题,写二进制
    发表于 07-07 12:39

    共享一个刚做的整数转二进制字符串的VI

    如题,最近一个项目中需要用到整数至二进制字符串转换,本以为labview自带有这个VI,但是找了下没有,表示挺蛋疼,于是自己写了一个,虽然逻辑有点绕,但是还是成功了,共享出来给大家有需要自行下载
    发表于 11-03 09:51

    Labview种如何将一个数字转换为5位二进制,8位二进制以及任意位的二进制表示呢

    Labview种如何将一个数字转换为5位二进制,8位二进制以及任意位的二进制表示呢
    发表于 01-22 17:22

    为什么Labview 把字符串写入二进制文档 占用更大的空间

    各位大神,为什么我用labview 把字符串写入二进制文件比直接写入txt文档占用的存储空间还大,不是说二进制格式的文档占用空间最小吗? 并且生成的文档用文本打开不是乱码。我的labview是2013版。
    发表于 04-03 12:49

    二进制字符串到十六进制字符串转换,十六进制字符串显示为ASCII码,拿来分享

    自己用labview做的二进制字符串到十六进制字符串转换,十六进制
    发表于 01-24 11:18

    labview中如何将16进制的数据显准换成字符串

    labview中如何将16进制的数据显准换为字符串如16进制的数据 3F如何转换为
    发表于 09-08 14:07

    十六进制字符串转换二进制

    一种十六进制字符串转换二进制数的方法
    发表于 09-11 14:39

    LabVIEW二进制数组转换二进制字符串的详细资料免费下载

    本文档的主要内容详细介绍的是LabVIEW二进制数组转换二进制字符串的详细资料免费下载,需要的下载吧。
    发表于 11-29 08:00 16次下载
    LabVIEW<b class='flag-5'>二进制</b>数组<b class='flag-5'>转换</b><b class='flag-5'>二进制</b><b class='flag-5'>字符串</b>的详细资料免费下载

    labview二进制字符串转数值

    字符串是一种常见的数据类型,它表示了以二进制形式存储的数据。当我们需要将这些二进制字符串转换为数值时,LabVIEW提供了一些常用的函数和方
    的头像 发表于 01-05 16:20 897次阅读