zoukankan      html  css  js  c++  java
  • Qt 将字符串转成16进制显示

    最近项目用到了需要将字符串转换成16进制显示。这玩意折腾了一上午。

    首先,数据块内容

    struct UserData
    {
        char Head[3] = {'X','J','J'};
        char Flag = '1'-'0x30';
        char X_Position = '1'-'0x30';
        char Y_Position = '@'-'0x30';
        char Sum = Head[0] + Head[1] + Head[2] + Flag + X_Position + Y_Position;
    }userdata;
    

      


    我需要将这个结构体通过网口发送出去,然后并且在界面显示发送的数据内容,发送是简单了,但是显示就麻烦了。

    我做了一下工作,可能存在不必要的内容。

    第一步,拼接字符串,并将字符串转成成QString
      
      char temp[7];
        temp[0] = userdata.Head[0];
        temp[1] = userdata.Head[1];
        temp[2] = userdata.Head[2];
        temp[3] = userdata.Flag;
        temp[4] = userdata.X_Position;
        temp[5] = userdata.Y_Position;
        temp[6] = userdata.Sum;
        QString tt = temp;
    

     第二步,将QString转成16进制的QByteArray,

    QByteArray temp1 = tt.toLatin1().toHex();
    

    第三步,添加空格

    QByteArray temp2;
        for(int i = 0; i < temp1.length()/2;i++)
        {
            temp2 += temp1.mid(i*2,2) + " ";
        }
    以上内容完成后,将可以将字符串一16进制的形式显示在界面上了,不过我目前这个代码里面还存在一个问题,组后多出一组数据来,不知道哪里来的。

    
    
  • 相关阅读:
    HRBUST--2317 Game(完全背包)
    k8s的回滚应用
    python练习-2
    k8s HA 补充-(keepalived+haproxy配置)
    Etcd故障恢复记录
    kubernetes 1.14安装部署helm插件
    k8s Prometheus+CAdvisor+node_export+grafana
    k8s ingress部署
    k8s pvc
    k8s pv
  • 原文地址:https://www.cnblogs.com/DreamDog/p/9143823.html
Copyright © 2011-2022 走看看