我有一个textedit,其中我输入了十六进制数,然后将这个文本转换为QByteArray。
这是我的密码:
QByteArray parsedValue = QByteArray::fromHex(expectedPacketStr.toUtf8());
qDebug() << parsedValue;当我将其设置为001102时,控制台日志将报告"\x00\x11\x02",这正是我所期望的。
但是,如果我将其设置为001122,控制台日志将报告缺少x22字节的"\x00\x11\""。
我真的不明白发生了什么事。有人知道为什么会这样吗?
发布于 2019-07-01 01:22:36
0x22是“ascii”中的字符,所以解释它的只是qDebug(),QByteArray中没有遗漏任何东西。
为了说服您,您始终可以逐个显示数组:
for (auto b : parsedValue)
qDebug() << (int)b;https://stackoverflow.com/questions/56829118
复制相似问题