火山软件开发平台

标题: hp pack客户Duan收到的字节集包含0 转文本的时候后面的取不... [打印本页]

作者: qq524235818    时间: 2021-4-2 18:59
标题: hp pack客户Duan收到的字节集包含0 转文本的时候后面的取不...
hp pack服务端收到的数据字节集包含了0

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

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



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

换什么能解决这个问题





作者: qq524235818    时间: 2021-4-2 19:02
46,116,120,116,0,27,
比如这个字节集串里面的倒数第二个字节就是
作者: 创世魂    时间: 2021-4-2 19:52
还有这种bug?尾部有0,   0后面的就没了。。。
作者: ziv    时间: 2021-4-2 21:19
记得 文本是读取以0结尾的一段数据,不可能把整个内存都给读成文本了吧
试试先分割字节集,不知道可不可以
作者: qq524235818    时间: 2021-4-2 21:33
https://bbs.125.la/thread-14006844-1-1.html
看看这篇文章
作者: qq524235818    时间: 2021-4-2 21:35
创世魂 发表于 2021-4-2 19:52
还有这种bug?尾部有0,   0后面的就没了。。。

https://bbs.125.la/thread-14006844-1-1.html
请仔细看内容 不是不传了 ,是到文本转换不出来0后面的文本内容
请看这个帖子别人有同样的问题
作者: ziv    时间: 2021-4-2 21:36
字节集 = 字节集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.., 琮瑸?
作者: qq524235818    时间: 2021-4-2 21:36
ziv 发表于 2021-4-2 21:19
记得 文本是读取以0结尾的一段数据,不可能把整个内存都给读成文本了吧
试试先分割字节集,不知道可不可以 ...

https://bbs.125.la/thread-14006844-1-1.html
这样的问题难道没人遇到过  
作者: ziv    时间: 2021-4-2 21:37
转来转去的,没有丢失呀
作者: Fang0x378    时间: 2021-4-2 21:40
插入文本到字节集()的时候插入0字符为真
取的时候, 取字节集数据 (数据, , 文本型) 直接取就好了。取出来的就是插入的一段文本
文本没有固定的长度,取后面的数据的时候,先计算一下刚才取出来的文本长度,从这个长度+2 以后再取。
取回的文本 = 取字节集数据 (数据, 0, 文本型)
起始偏移量 = 取字节集长度 (到字节集 (取回的文本)
后面想取的整数=取字节集数据 (数据, 起始偏移量 + 2, 整数)
反正我是只有弄的,没有错误。
作者: ziv    时间: 2021-4-2 21:49
总共 8 个字节:
[00000000]: 2E 00 74 00 78 00 74 00                         | ..t.x.t.
进行编码转换 0 后面的就没有了 应该是12 个个字节: 只转回8个
作者: ziv    时间: 2021-4-2 22:07
0 是结束符,怎么会跑到文本字节中去,还要连成串?
作者: Fang0x378    时间: 2021-4-2 22:07
两个帖子我弄串了,复制过来吧。正好我前一段时间在搞这个

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

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

以此类推


作者: qq524235818    时间: 2021-4-2 22:31
Fang0x378 发表于 2021-4-2 22:07
两个帖子我弄串了,复制过来吧。正好我前一段时间在搞这个

发送方

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

作者: ziv    时间: 2021-4-2 23:51
双字节字符集加{0,0},网络传输,转成多字节字符集,节约 长度
作者: ziv    时间: 2021-4-3 00:01
// http://bbs.eyuyan.com/read.php?tid=308460




欢迎光临 火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4