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(编码格式互转)