我有一个textedit,在其中键入十六进制数字,然后将此文本转换为QByteArray。
这是我的代码:
clear!
当我将其设置为 001102 时,
然后控制台日志报告QByteArray parsedValue = QByteArray::fromHex(expectedPacketStr.toUtf8());
qDebug() << parsedValue;
,这正是我所期望的。
但是,如果我将其设置为 001122 ,
控制台日志报告"\x00\x11\x02"
丢失了x22字节。
我真的不明白发生了什么。有人知道为什么会这样吗?
答案 0 :(得分:1)
0x22是ascii中的字符“,因此它只是qDebug()对其进行解释,而QByteArray内没有任何遗漏。
为说服您,您始终可以一一显示阵列:
for (auto b : parsedValue)
qDebug() << (int)b;