QT utf-8与gbk编码互转code

Posted 浅水湾的回眸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT utf-8与gbk编码互转code相关的知识,希望对你有一定的参考价值。


QByteArray StrUtf8toGBK(const QString &qStr)
{
    QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(utf8);
    QTextCodec* gbk = QTextCodec::codecForName("gbk");

    //utf8 -> gbk
    //1. utf8 -> unicode
    QString strUnicode= utf8->toUnicode(qStr.toLocal8Bit().data());

    //2. unicode -> gbk
    return gbk->fromUnicode(strUnicode);
}

QByteArray StrGBKtoUtf8(const QString &qStr)
{
    QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(utf8);
    QTextCodec* gbk = QTextCodec::codecForName("gbk");

    //gbk -> utf8
    //1. gbk to unicode
    QString strUnicode=gbk->toUnicode(qStr.toLocal8Bit().data());
    //2. unicode -> utf-8

    return utf8->fromUnicode(strUnicode);
}

void showCode(const QByteArray& qByteArray)
{
    const char* cStr = qByteArray.data();
    printf("===== code [%s]-[%d]=====\\n", cStr, qstrlen(cStr));
}

以上是关于QT utf-8与gbk编码互转code的主要内容,如果未能解决你的问题,请参考以下文章

Java工程编码格式由GBK转化成utf-8(编码格式互转)

Java工程编码格式由GBK转化成utf-8(编码格式互转)

锟斤拷?UTF-8与GBK互转乱码问题

UTF-8和GBK编码转换(QT版本)

UTF-8和GBK编码转换(QT版本)

python编码类型互转总结