QT 中QString 转ASCII编码

QT 中QString 转ASCII编码

比如字符串 12345678 转成ASCII码后是3132333435363738,但是要按十六位排序,先发低8位,再发高8位,后得到数据3231343336353837,我现在的问题是 QString str = "12345678" 如何转成 3231343336353837

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
中年猿叔 2023-05-23 12:39:57
为什么要转呢?字符串只是数据的表现形式,实际存储的时候就是ASCII码在内存中存储,发送字符串是把内存数据发送过去,在Qt中可以把QString转换成QByteArray然后发送
  • 提问者 宝慕林3443678 #1

    场景是这样的,串口通信,我们用modbus协议,我通过串口给对方发送一个字符串,我们规定这个字符串长度为8个字节,寄存器数量为4,对方要求我发送字符串时要进行ASCII编码,按十六位排序,先发低8位,再发高8位。比如发送12345678,转成ASCII码就是3132333435363738,一个寄存器2个字节,
    第一个存3231
    第二个存3433
    第三个存3635
    第四个存3837
    也就是我要发送12345678,要转成3231343336353837


    2023-05-23 15:19:44
  • 中年猿叔 回复 提问者 宝慕林3443678 #2

    转成QByteArray发过去就可以了,发送的数据就是ASCII码

    2023-05-23 17:08:59
  • 提问者 宝慕林3443678 回复 中年猿叔 #3

    关键是还要进行先发低8位,再发高8位

    2023-05-23 19:39:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师