Qt笔记-使用QString和QByteArray使得字符串正常显示和十六进制显示

x33g5p2x  于2022-05-30 转载在 其他  
字(1.1k)|赞(0)|评价(0)|浏览(390)

如下代码:

#include "JSH16Analysis.h"

JSH16Analysis::JSH16Analysis()
{

}

QString JSH16Analysis::Utf8ToHex16(const QString &utf8){

    QByteArray byteArray;
    QString ret(byteArray.append(utf8).toHex());
    return ret;
}

QString JSH16Analysis::Hex16ToUtf8(const QString &hex16){

    QByteArray byteArray = QByteArray::fromHex(hex16.toUtf8());
    QString ret(byteArray);
    return ret;
}

如下输入:

QString hex = JSH16Analysis::Utf8ToHex16("Hello World 中文");
    qDebug() << "hex : " << hex;
    QString utf8 = JSH16Analysis::Hex16ToUtf8(hex);
    qDebug() << "utf8 : " << utf8;

运行截图如下:

如下输入:

QString hex = JSH16Analysis::Utf8ToHex16("HellHello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文Hello World 中文o World 中文");
    qDebug() << "hex : " << hex;
    QString utf8 = JSH16Analysis::Hex16ToUtf8(hex);
    qDebug() << "utf8 : " << utf8;

运行截图如下:

15:05:25: Starting D:\QtProject\build-ReverseTool-Desktop_Qt_5_12_11_MSVC2015_64bit-Debug\JSReverse16Hex\debug\JSReverse16Hex.exe ...
hex :  "48656c6c6f20576f726c6420e4b8ade69687"
utf8 :  "Hello World 中文"

相关文章