Qt解析十六进制串

 

 

QByteArray arr1 = QByteArray::fromHex("000000A1000000B2000005DC00000000000000900000000000000000000000000000000100000020000000210000000100000000001748C8000000000000046C00000000000000A100000000000000000000006000000000000061E400000000");

for (int i = 0; i < arr1.size(); i += 4) {
    // 提取四个字节并组合成一个整数(对于原问题,应改为两个字节)
    quint32 num = (quint8)arr1[i] << 24 | (quint8)arr1[i + 1] << 16 | (quint8)arr1[i + 2] << 8 | (quint8)arr1[i + 3];
    // 由于原问题中每两个字节表示一个数字,所以应改为:
    // quint16 num = (quint8)arr1[i] << 8 | (quint8)arr1[i + 1];
    // 解析出的数字
    qDebug() << num;
}

 

161
178
1500
0
144
0
0
0
1
32
33
1
0
1525960
0
1132
0
161
0
0
96
0
25060
0

 

 

 

########################

posted @ 2024-09-27 10:49  西北逍遥  阅读(32)  评论(0编辑  收藏  举报