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;
我有一个文本编辑器,我在其中键入十六进制数字,然后将此文本转换为 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;