qt-2022-08-31

1、因为.trimmed()方法不能去除字节之间的空格,而只能去除整个数据包的前后空格,所以为了方便起见而又不脱离方便人阅读的情况下,需要在写入txt时不能使用.toHex(‘ ’),也就是不加入空格,而应该直接调用.toHex()即可,还有另一个问题是没有理清已经写入txt文件的数据形式,如果不调用.toHex(),那么实际上存入的QByteArray是以ASCII格式显示的,但调用了.toHex()实际上txt的存储显示格式已经变为hex,所以在进行读取时需要先调用.toByteArray()获得QByteArray,然后在调用fromHex()方法将内容转为hex形式的QByteArray,然后再解析。

2、因为传入包解析函数之前需要去除包头2字节和包尾2字节,但是出现包尾2字节一直无法去掉的现象,实际上是由于.mid()中求取总长所使用的QByteArray不正确导致的,QByteArray::fromHex(read_send485Parameter_Ba)这个整体是最终要生成的QByteArray,但是实际却用了源QByteArray,即read_send485Parameter_Ba,然后减4来算最终的QByteArray真正的长度。

 

 3、使用QByteArray存入txt会带有@ByteArray()的格式符,目前没有遇到消除的办法,但是按照写入时的数据格式进行读取暂时还没有遇到有特别的影响。

 

posted @ 2022-08-31 18:02  migui  阅读(79)  评论(0编辑  收藏  举报