QByteArray 从文本转换

QByteArray conversion from text

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

这是我的代码:

QByteArray parsedValue = QByteArray::fromHex(expectedPacketStr.toUtf8());
qDebug() << parsedValue;

当我将其设置为 001102 时, 然后控制台日志报告 "\x00\x11\x02" 这是我所期望的。

但是如果我将它设置为 001122, 控制台日志报告 "\x00\x11\"" 缺少 x22 字节。

真搞不懂这是怎么回事。有人知道为什么会这样吗???

0x22 是 ascii 中的字符 ",所以只有 qDebug() 正在解释它,QByteArray 中没有遗漏任何内容。

为了说服你,你总是可以一一展示数组:

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