精易论坛

标题: 字节集读取操作 类似文件读写 方便了许多字节集的操作 [打印本页]

作者: DeHby    时间: 2019-9-1 21:32
标题: 字节集读取操作 类似文件读写 方便了许多字节集的操作
这个不是啥大功能 但是挺实用的。。。 因为我自己写TCP 协议的时候 以前经常为了方便 是用 分割文本 分割字节集啥的 但是总会遇到  要传输的数据中 含有我的分割标识 到导致冲突   用我这个字节集读取 可以 一点一点的读数据 不会冲突   会用的肯定会用 不会用的 我也没办法     还有就是  避免那个协议与数据冲突还有就是 JSON  是比较好的   
图:
源码下载:

听说下载源码的点评 点个赞 的都是帅哥

作者: cf2006a    时间: 2019-9-1 22:13
看看是怎么写的~~~
作者: 云不器    时间: 2019-9-1 22:24
看看是怎么写的~~~
作者: 甲乙丙丁    时间: 2019-9-1 22:24
谢谢分享!!!
作者: 寂寞的泥    时间: 2019-9-1 23:25
这些大佬的指导
作者: fyh505099    时间: 2019-9-1 23:42
谢谢分享 支持一下 学习学习
作者: 花芯    时间: 2019-9-2 00:06
kankanjutixijiecaozuo

作者: Nice回忆    时间: 2019-9-2 01:15
如果您要查看本帖隐藏内容请回复
作者: 采撷一片天    时间: 2019-9-2 08:14
学习学习


作者: 网络注册络员    时间: 2019-9-2 08:53

作者: U56V17    时间: 2019-9-2 08:57


厉害厉害


作者: wuqingg    时间: 2019-9-2 09:02
谢谢指点。。。。
作者: jhai    时间: 2019-9-2 09:33
不管东西咋样 还是先谢谢了

作者: 先锋小七    时间: 2019-9-2 09:37
JSON传输数据收到要解析,发送又要组装,导致效率极差,只适合通讯指令。
作者: woshipqj    时间: 2019-9-2 10:29
666666666666666
作者: 浮沉咯    时间: 2019-9-2 11:19
先锋小七 发表于 2019-9-2 09:37
JSON传输数据收到要解析,发送又要组装,导致效率极差,只适合通讯指令。

是的 但是避免了  冲突之类的  JSON  数据量也大
所以我现在喜欢纯字节集的 协yi
作者: 双嘉    时间: 2019-9-2 12:36
99999999999999
作者: sinewtec    时间: 2019-9-2 12:47
看看效果是怎么样的

作者: 2533    时间: 2019-9-2 13:06
看看               

作者: cld9557    时间: 2019-9-2 16:47
不错,学习学习
作者: cnxmal    时间: 2019-9-2 20:12
        支持开源~!感谢分享
作者: 283688410    时间: 2019-9-2 22:10
下载收藏学习
作者: gaoqing    时间: 2019-9-3 07:19
谢谢分享啊
作者: kike    时间: 2019-9-3 08:54
好东西,辛苦了。
作者: xiaoniu1230    时间: 2019-9-3 20:22
支持开源~!感谢分享
作者: xiaoniu1230    时间: 2019-9-3 20:32


楼主 ,这6怎么读不出来

作者: DeHby    时间: 2019-9-4 08:52
xiaoniu1230 发表于 2019-9-3 20:32
楼主 ,这6怎么读不出来

因为 他是按照顺序读的  不能跨越的读
作者: DeHby    时间: 2019-9-4 08:59
xiaoniu1230 发表于 2019-9-3 20:32
楼主 ,这6怎么读不出来

如果你要读的话 要这样写
Data=到字节集(1)+到字节集(9)+到字节集("123456789")+到字节集(6)+到字节集("123456“)  ’这里的6其实是对应后面的 "123456"文本的长度   如果你要单独读出来 得这样

.版本 2
.支持库 spec

Data = 到字节集 (1) + 到字节集 (9) + 到字节集 (“123456789”) + 到字节集 (6) + 到字节集 (“123456”)
字节集操作.打开数据 (Data)
调试输出 (字节集操作.读整数 ())  ' 这个得到1
调试输出 (字节集操作.读整数 ())  ' 这个得到9
字节集操作.移动读取位置 (8 + 9 + 1)  ' 2个整数  一个9个长度的字节集  再加一个偏移
调试输出 (字节集操作.读整数 ())
字节集操作.清除缓存 ()

作者: xiaoniu1230    时间: 2019-9-4 09:08
DeHby 发表于 2019-9-4 08:59
如果你要读的话 要这样写
Data=到字节集(1)+到字节集(9)+到字节集("123456789")+到字节集(6)+到字节集(" ...

我还不是太熟悉,感觉要是有个遍历函数,会更好操作,这个偏移不知道怎么计算。比如有这个需求,我只想取最后一个字节集,前面的数据,虽然存在,但是我不需要。直接取最后一个字节集,有什么最快的办法
作者: DeHby    时间: 2019-9-4 09:17
xiaoniu1230 发表于 2019-9-4 09:08
我还不是太熟悉,感觉要是有个遍历函数,会更好操作,这个偏移不知道怎么计算。比如有这个需求,我只想取 ...

不不不 没办法的  字节集的文本 没有固定的大小  我之所以有个6  是因为后面有一个 长度为6的 字节集文本  如果我不给6  我压根不知道多长     你想得到后面的  就得先得到 你需要跳过的长度   然后移动读取位置     这个算比较方便了   字节集不比别的 没有遍历不遍历 这回事 Data的数据是你自己定义的  你怎么定的 就怎么读  明白没
作者: DeHby    时间: 2019-9-4 09:18
xiaoniu1230 发表于 2019-9-4 09:08
我还不是太熟悉,感觉要是有个遍历函数,会更好操作,这个偏移不知道怎么计算。比如有这个需求,我只想取 ...

我是把字节集的操作 模仿文件读写的方法   算很方便了已经
作者: xiaoniu1230    时间: 2019-9-4 10:03
本帖最后由 xiaoniu1230 于 2019-9-4 10:08 编辑

感谢分享 ,再咨询下, 如果我想取最后一个 四川 这个数据, 用移动读位置偏移,那这个偏移量是如何计算出来的,你楼下发的那个8+9+1 我没看明白是怎么计算出来的,还有就是跳过的长度,这个又是如何计算出来的



作者: DeHby    时间: 2019-9-4 10:39
xiaoniu1230 发表于 2019-9-4 10:03

按照你的图片
按照字节来计算   比如    1   “12345”  123
我要从1 读123   就 移动 4+5 +1
4是整数型的内存大小 你可以百度参考 各种数据类型的内存占用大小   5的话 你应该懂 他的长度   
1的话  这个你不用管 加上去就行  是偏移
作者: xiaoniu1230    时间: 2019-9-4 16:30
DeHby 发表于 2019-9-4 10:39
按照你的图片
按照字节来计算   比如    1   “12345”  123
我要从1 读123   就 移动 4+5 +1

已学会,非常感谢
作者: sampo    时间: 2019-9-5 19:34
支持开源,感谢分享
作者: yxl2008    时间: 2019-9-7 14:36
支持开源,感谢分享!
作者: yxl2008    时间: 2019-9-7 14:37
支持楼主开源,感谢分享!
作者: 小汐哟u    时间: 2019-9-11 09:35
6666 写的还阔以 赞赞
作者: 曜辉    时间: 2023-9-3 20:53
用了楼主的这个,确实方便的说,自己写协议的话,会方便很多,尤其是传输文件,赞一个!





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4