火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 9040|回复: 15
打印 上一主题 下一主题

[其它] hp pack客户Duan收到的字节集包含0 转文本的时候后面的取不...

[复制链接]

55

主题

192

帖子

1212

积分

金牌会员

Rank: 6Rank: 6

积分
1212
跳转到指定楼层
#
发表于 2021-4-2 18:59:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
hp pack服务端收到的数据字节集包含了0

用字节集转到文本的时候,0后面的字节就丢失了
发送有的数据pc端接收的字节集里面有时候没包括0,能转成完整文本   当接收的字节集有0的时候后面的就不显示文本了

查了一天资料易语言论坛有人遇到这个问题但没人解决
我实在没辙了才来提问 希望有人给与帮助解答 万分感谢



到现在还是没搞明白这个字节集里面的是文本到字节集()这个命令给加上去的
还是有的文本转成字节集就成了
还是hp pack这个自动组包的组件的问题   

换什么能解决这个问题




回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
15#
发表于 2021-4-3 00:01:41 | 只看该作者
回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
14#
发表于 2021-4-2 23:51:49 | 只看该作者
双字节字符集加{0,0},网络传输,转成多字节字符集,节约 长度
回复

使用道具 举报

55

主题

192

帖子

1212

积分

金牌会员

Rank: 6Rank: 6

积分
1212
13#
 楼主| 发表于 2021-4-2 22:31:12 | 只看该作者
Fang0x378 发表于 2021-4-2 22:07
两个帖子我弄串了,复制过来吧。正好我前一段时间在搞这个

发送方

谢谢  等我有时间了在研究一下
回复

使用道具 举报

91

主题

486

帖子

2013

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2013
12#
发表于 2021-4-2 22:07:25 | 只看该作者
两个帖子我弄串了,复制过来吧。正好我前一段时间在搞这个

发送方
发送字节集  字节集类
整数变量  整数
整数变量=100
插入字节集 (发送字节集, 0, 到字节集 (整数变量))
插入文本到字节集 (发送字节集, 0, “我们”, 真)

接收方处理
取回文本  文本型
取回的整数   整数
起始偏移量    整数
取回文本= 取字节集数据 (接收到的字节集, 0, 文本型)   //取回文本就=“我们”
起始偏移量 = 取字节集长度 (到字节集 (取回文本))
取回的整数  = 取字节集数据 (接收到的字节集, 起始偏移量 + 2, 整数) //取回的整数=100, 偏移量+2是因为插入的文本后面加入了0字符。
如果后面再有数据,偏移量在上面的基础上再加4,就是起始偏移量+6,因为整数的长度是4,

以此类推

非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
11#
发表于 2021-4-2 22:07:18 | 只看该作者
0 是结束符,怎么会跑到文本字节中去,还要连成串?
回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
10#
发表于 2021-4-2 21:49:18 | 只看该作者
总共 8 个字节:
[00000000]: 2E 00 74 00 78 00 74 00                         | ..t.x.t.
进行编码转换 0 后面的就没有了 应该是12 个个字节: 只转回8个
回复

使用道具 举报

91

主题

486

帖子

2013

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2013
9#
发表于 2021-4-2 21:40:24 | 只看该作者
插入文本到字节集()的时候插入0字符为真
取的时候, 取字节集数据 (数据, , 文本型) 直接取就好了。取出来的就是插入的一段文本
文本没有固定的长度,取后面的数据的时候,先计算一下刚才取出来的文本长度,从这个长度+2 以后再取。
取回的文本 = 取字节集数据 (数据, 0, 文本型)
起始偏移量 = 取字节集长度 (到字节集 (取回的文本)
后面想取的整数=取字节集数据 (数据, 起始偏移量 + 2, 整数)
反正我是只有弄的,没有错误。
非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
8#
发表于 2021-4-2 21:37:44 | 只看该作者
转来转去的,没有丢失呀
回复

使用道具 举报

55

主题

192

帖子

1212

积分

金牌会员

Rank: 6Rank: 6

积分
1212
7#
 楼主| 发表于 2021-4-2 21:36:50 | 只看该作者
ziv 发表于 2021-4-2 21:19
记得 文本是读取以0结尾的一段数据,不可能把整个内存都给读成文本了吧
试试先分割字节集,不知道可不可以 ...

https://bbs.125.la/thread-14006844-1-1.html
这样的问题难道没人遇到过  
回复

使用道具 举报

4

主题

222

帖子

3305

积分

论坛元老

Rank: 8Rank: 8

积分
3305
6#
发表于 2021-4-2 21:36:41 | 只看该作者
字节集 = 字节集10 ("46,116,120,116,0,27")
文本1 = 字节集到文本 (字节集)
调试输出 (字节集, 到字节集 (文本1), 文本1)
[00000000]: 2E 74 78 74 00 1B                               | .txt.., <字节集> 总共 6 个字节:
[00000000]: 2E 74 78 74 00 1B                               | .txt.., 琮瑸?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-2 18:49 , Processed in 0.093597 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表