Qt将【十六进制的字符串】与【原数据字符串】互转

环境

Ubuntu16.04 + Qt5.7.1

目的

十六进制的字符串原始数据的字符串互相转换;
例如将“hello world”转为十六进制,则是“68656c6c6f20776f726c64”。
转换可以点击这里进行测试。

实现

QByteArray提供了这种转换方法。

//"hello world"的十六进制字符串
QString hexString = "68656c6c6f20776f726c64";
QByteArray hexByteArray = hexString.toLatin1();
QString vaildString = QString::fromLatin1(QByteArray::fromHex(hexByteArray));

qDebug() << "vaildString:" << vaildString;
qDebug() << "hex:" << vaildString.toLatin1().toHex();

你可能感兴趣的:(Qt,Qt,十六进制,字符串)