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

    文章

    11222

    浏览量

    208890
  • 字符串
    +关注

    关注

    1

    文章

    577

    浏览量

    20485
  • 命令
    +关注

    关注

    5

    文章

    678

    浏览量

    21983
  • grep
    +关注

    关注

    0

    文章

    22

    浏览量

    4715
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

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

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

    本文档的主要内容详细介绍的是LabVIEW二进制字符串转十进制数值的详细资料免费下载。
    发表于 11-21 08:00 44次下载
    LabVIEW<b class='flag-5'>将</b><b class='flag-5'>二进制</b><b class='flag-5'>字符串</b>转十<b class='flag-5'>进制</b>数值的详细资料免费下载

    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数值数组转换二进制字符串的详细资料免费下载,需要的下载吧。
    发表于 11-29 08:00 60次下载
    LabVIEW数值数组<b class='flag-5'>转换</b><b class='flag-5'>二进制</b><b class='flag-5'>字符串</b>的详细资料概述

    二进制如何转换为进制?

    二进制转换为进制(base-2到base-10) )数字和背面是一个重要的概念,因为二进制编号系统构成了所有计算机和数字系统的基础。
    的头像 发表于 06-22 10:21 2.4w次阅读

    从键盘输入10个整数,以二进制形式输出到“outFile”中

    注释:`bin()`函数整数转换为二进制字符串,`[2:]`表示去掉字符串前面的"0b",`zfill(32)`表示在
    的头像 发表于 06-07 11:28 714次阅读
    从键盘输入10个整数,以<b class='flag-5'>二进制</b>形式输出到“outFile”中

    labview二进制字符串转数值

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

    10进制转换为二进制的算法

    10进制转换为二进制是计算机领域中非常重要的一个问题。在计算机中,所有的数据都是以二进制形式进行存储和处理的。因此,我们常常需要将10进制
    的头像 发表于 01-11 09:14 2237次阅读

    10进制转换为二进制的算法

    进制转换为二进制是计算机科学中非常基础且重要的概念之一。在理解和应用计算机科学的基础知识时,掌握这个算法是至关重要的。 在开始讲解十进制转换为
    的头像 发表于 01-15 10:32 3024次阅读

    labview字符串如何转换为16进制字符串

    在LabVIEW中,字符串转换为16进制字符串是一个常见的需求,尤其是在处理数据通信和硬件接口时。LabVIEW提供了多种方法来实现这一
    的头像 发表于 09-04 15:54 1819次阅读

    base64字符串转换为二进制文件

    Base64是一种编码方法,用于二进制数据转换为ASCII字符串。这种编码通常用于在不支持二进制数据的系统中传输数据,例如电子邮件或网页。
    的头像 发表于 11-10 10:55 392次阅读