Qt 将16进制的内容的QString字符串转为QByteArray数组


1.QString存储十六进制内容

我要发送的十六进制内容是 01 05 04 01 00
将其储存在QString字符串中

1 QString str; 2 str = "0105040100";

2.核心语句

将两位的字符串转换为16进制的Int型数字,然后通过强制类型转换成char类型的字符。
(具体作用方式我还没去看,但是有用)

(char)str.mid(i, 2).toInt(&ok, 16)

3.编写函数进行转换

创建一个返回类型为QByteArray的函数 Hexstring2QByteArray
通过每两位两位的方式将所有内容转为char再用QByteArray进行尾部添加

1 QByteArray Hexstring2QByteArray(QString str) 2 9 return Hexstr; 10 }

这个函数能够将16进制内容的QString字符串转为QByteArray数组进行发送
结果如图所示,这是串口工具接收到的我的程序发回的16进制QByteArray



上一篇:Qt 数据流QDataStream大少端设置

下一篇:Qt QMessageBox的简单用法


Qt
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图