我有一个QString StrData = "abcd"
我想要得到Ascii
该字符串的十六进制值,反之亦然。
例如来自"abcd" to "61 62 63 64"
和来自"61 62 63 64" to "abcd"
我设法获得十六进制的 Ascii 值,但不知道如何取回它
Qstring StrData = "abcd";
Qstring HexStrData;
for (int i = 0; i < StrData.length(); i++) {
HexStrData.append(Qstring::number(StrData.at(i).unicode(), 16));
HexStrData.append(" ");
}
要进行第一次转换,您可以使用以下方法:
QString StrData = "abcd";
qDebug()<<"before "<< StrData;
QStringList numberString;
for(const auto character: StrData){
numberString << QString::number(character.unicode(), 16);
}
QString HexStrData= numberString.join(" ");
qDebug()<<HexStrData;
对于第二种情况要简单得多,如下所示:
QString str = QByteArray::fromHex(HexStrData.remove(" ").toLocal8Bit());
qDebug()<<str;
Output:
before "abcd"
"61 62 63 64"
"abcd"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)