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进制的形式显示在界面上了,不过我目前这个代码里面还存在一个问题,组后多出一组数据来,不知道哪里来的。

目录
相关文章
|
8月前
QT里面字符串转ieee754标准的float浮点数
QT里面字符串转ieee754标准的float浮点数
183 0
|
3月前
|
存储 Linux C语言
(2)Qt中的字符串类型
本文介绍了Qt中的字符串类型QByteArray和QString,包括它们的构造函数、数据操作方法、查找操作、遍历操作以及与其他类型之间的转换,并解释了它们之间的区别。
230 5
(2)Qt中的字符串类型
|
8月前
|
Windows 安全 C++
Qt字符串类应用与常用基本数据类型
Qt字符串类应用与常用基本数据类型
|
8月前
|
C语言 容器
【qt】QString字符串2
【qt】QString字符串2
44 0
|
8月前
|
C++
【qt】QString字符串1
【qt】QString字符串1
62 0
|
8月前
QT去除QString字符串中空格的方法
QT去除QString字符串中空格的方法
280 0
|
8月前
|
C++
[Qt5&控件] Label控件显示文本内容(字符串和整数)
[Qt5&控件] Label控件显示文本内容(字符串和整数)
168 0
[Qt5&控件] Label控件显示文本内容(字符串和整数)
|
8月前
Qt 计算字符串和文件的md5 值
Qt 计算字符串和文件的md5 值
165 0
《QT从基础到进阶·一》QString字符串常用方式
《QT从基础到进阶·一》QString字符串常用方式
154 0
|
JSON 数据格式 Windows
Qt平台下使用QJson构建JSON字符串
Qt平台下使用QJson构建JSON字符串
452 0
Qt平台下使用QJson构建JSON字符串