完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
请教各位大神 字符串的处理怎么弄
12 08 AD 00 2C 80 00 00 5F 43 4D 49 4F 54 5F 54 41 53 4B 44 65 66 61 75 6C 74 4D 73 67 50 72 6F 63 28 45 56 5F 54 49 4D 45 52 29 0A 00 80 00 00 43 2E 像这种字符串 我想要截取从AD开始的第五的字节(第一个条件)到倒数第二个的字节的内容 应该怎么实现呢 ? 我现在只能实现把最后一个字节去掉 但是怎么能再一大串字节中搜索到AD在来截取从他开始的第五个字节呢
|
|
相关推荐
38个回答
|
|
|
|
|
|
|
|
|
我得到这一串有效内容00 00 5F 43 4D 49 4F 54 5F 54 41 53 4B 44 65 66 61 75 6C 74 4D 73 67 50 72 6F 63 28 45 56 5F 54 49 4D 45 52 29 0A 00 80 00 00 43
|
|
|
|
|
|
看看是不是你想要的这种结果
|
|
|
|
|
|
恩 单次提取是这样的 我现在主要想实现的是 每次发来的一长串数据 要提取AD开始的第五位到倒数第二位的内容 第二和第三位是内容的大小,每条数据的大小不同,而且想要实现很多串数据发来 要一次提取每条数据的内容的实现方式额。 |
|
|
|
|
|
例如这是串口发来的数据 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 5F 43 68 61 A0 AD 00 23 80 19 01 54 69 6D 65 72 3A 20 20 74 68 69 73 20 74 69 6D 65 20 69 73 20 33 35 33 20 73 0A 00 6E 67 3A 31 A2 AD 00 2A 80 19 00 57 68 69 63 68 4B 69 6E 64 4F 66 53 65 72 76 69 63 65 2C 20 20 49 44 20 3D 20 30 78 61 30 30 38 31 0A 00 3D 3D 3D 54 C7 AD 00 2D 80 19 00 55 49 4E 54 33 32 20 44 69 73 70 61 74 63 68 28 29 2C 20 20 6E 53 65 72 76 69 63 65 49 64 20 3D 20 30 78 30 0A 00 AD 00 26 80 F9 AD 00 1E 80 59 00 49 6E 20 43 46 57 5F 4E 77 41 6F 50 72 6F 63 20 73 74 61 72 74 0A 00 2D 2D 2D 04 89 AD 00 29 80 59 00 49 6E 20 43 46 57 5F 4E 77 41 6F 50 72 6F 63 20 61 66 74 65 72 20 67 65 74 20 73 69 6D 20 69 64 0A 00 54 52 41 43 8C AD 00 28 80 19 00 43 46 57 5F 47 65 74 41 6F 48 61 6E 64 6C 65 28 29 2C 20 20 6E 53 72 76 49 64 3D 30 78 30 20 0A 00 2D AD 00 2C 3C AD 00 5C A3 80 59 00 43 46 57 5F 4E 77 41 6F 50 72 6F 63 20 6E 53 49 4D 49 44 20 3D 20 30 78 30 20 73 74 61 74 65 20 3D 20 30 78 31 32 2C 20 73 5F 73 74 61 74 65 20 3D 20 30 78 31 32 20 65 76 65 6E 74 49 64 20 3D 20 30 78 61 30 30 38 31 20 6E 55 54 49 20 3D 20 30 78 30 0A 00 3D 3D 3D 3D 89 AD 00 2B 80 59 00 67 65 74 20 41 50 49 5F 51 55 41 4C 5F 52 45 50 4F 52 54 5F 43 4E 46 20 66 72 6F 6D 20 73 74 61 63 6B 0A 00 66 20 00 63 93 AD 00 24 80 59 00 43 46 57 5F 4E 77 51 75 61 6C 52 65 70 6F 72 74 43 6F 6E 66 20 73 74 61 72 74 20 0A 00 45 4D 4F 52 B1 AD 00 27 80 59 00 43 46 57 5F 4E 77 51 75 61 6C 52 65 70 6F 72 74 43 6F 6E 66 2C 20 6E 53 69 6D 49 44 3D 30 0A 00 35 80 59 00 1D AD 00 38 80 59 00 46 72 6F 6D 20 73 74 61 63 6B 20 3A 20 52 73 73 69 20 3D 20 34 38 20 52 78 51 75 61 6C 20 3D 20 30 20 6E 49 6E 64 20 3D 20 30 78 66 66 66 66 0A 00 80 59 00 43 57 AD 00 2E 80 59 00 41 66 74 65 72 20 74 72 61 6E 73 66 6F 72 6D 20 52 73 73 69 20 3D 20 33 31 20 52 78 51 75 61 6C 20 3D 20 39 39 0A 00 63 69 61 6C E6 AD 00 2D 80 59 00 43 46 57 5F 4E 77 51 75 61 6C 52 65 70 6F 72 74 43 6F 6E 66 2C 20 72 65 74 75 72 6E 20 73 75 63 63 65 73 73 0A 00 73 68 43 6F B6 AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 53 54 41 54 A7 AD 00 05 83 26 5D 24 00 DC AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 00 62 65 66 D4 AD 00 05 83 8C 5D 24 00 76 AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 5F 4E 4F 5F B4 AD 00 05 83 8E 5D 24 00 74 AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 3D 30 78 30 F0 AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 61 63 68 20 FF AD 00 23 80 19 01 54 69 6D 65 72 3A 20 20 74 68 69 73 20 74 69 6D 65 20 69 73 20 33 35 34 20 73 0A 00 4E 77 43 73 AE AD 00 05 83 F4 5D 24 00 0E AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A 00 03 20 30 AD 0B AD 00 36 80 19 01 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 41 50 53 20 70 61 72 73 65 20 49 44 3A 20 20 20 30 78 35 64 2C 20 41 70 73 5F 41 50 50 3A 20 30 78 31 0A
我想提取条AD数据内的内容 但是一直不成功额
|
|
|
|
|
|
你这个每一粗AD的数据的字节是固定的把 在串口哪里设置下设置下字节总数
|
|
|
|
|
|
用匹配模式
|
|
|
|
|
|
你有的AD值都没有五位 你看你的第五排 AD 00 26 80 F9 AD
|
|
|
|
|
|
|
|
|
|
|
|
对 就觉得有些数据是不能用的 数据的格式是这样的 第一个字节AD是帧头 第二和第三个字节是内容的size+1 第四位是命令 第五位到倒数第二位是内容 最后一位是校验码 有些数据是没有内容的 所有就直接五个字节结束 |
|
|
|
|
|
STEP1:先学着使用生产者-消费者模式;
STEP2:先尝试用生产者-消费者模式将串口的数据写入队列中,并让数据出队列并显示在一个数组中。(此步骤为的是采集时不会丢数据); STEP3:用生产者-消费者模式将串口数据采集进入队列1,再从队列1中寻找帧头,按一帧字节数读取每帧数据进入队列2,再处理队列2中的数据(例如解码,显示等)。 最后,如下图,你需要考虑万一检测不到帧头如何处理?校验和错误如何处理?发送数据间隔、采集数据间隔和数据显示时间间隔之间如何匹配?
|
|
|
|
|
|
|
|
|
|
|
80336705 发表于 2017-9-8 14:05 那你需不需要内容嘛 如果不需要内容的话那就截取AD之后的第二三位字符串之后限定截取的字节数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1671 浏览 0 评论
1569 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1946 浏览 2 评论
5094 浏览 3 评论
4986 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:51 , Processed in 0.921628 second(s), Total 89, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6422