QByteArray从文本转换

时间:2019-07-01 01:12:07

标签: c++ qt qbytearray

我有一个textedit,在其中键入十六进制数字,然后将此文本转换为QByteArray。

这是我的代码:

clear!

当我将其设置为 001102 时, 然后控制台日志报告QByteArray parsedValue = QByteArray::fromHex(expectedPacketStr.toUtf8()); qDebug() << parsedValue; ,这正是我所期望的。

但是,如果我将其设置为 001122 , 控制台日志报告"\x00\x11\x02"丢失了x22字节。

我真的不明白发生了什么。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

0x22是ascii中的字符“,因此它只是qDebug()对其进行解释,而QByteArray内没有任何遗漏。

为说服您,您始终可以一一显示阵列:

for (auto b : parsedValue)
    qDebug() << (int)b;