注意:需要现在头文件中加上以下代码(如果多个头文件需要转换,则各个头文件均需包含)
#ifdef WIN32
#pragma execution_character_set("utf-8")
#endif
一、QString与string
1、QString转string
QString strTest;
string sTest = string(strTest.toLocal8Bit());
或者:
QString strTest;
QByteArray ba = strTest.toLocal8Bit();
string sTest = string(ba);
2、string转QString
string sTest;
QString strTest = QString::fromLocal8Bit(sTest.data());
二、QString与char*
1、QString转char*
QString strTest;
QByteArray ba = strTest.toLocal8Bit();
char* chTest = ba.data();
//注意:不能直接char* chTest = strTest.toLocal8Bit().data(),否则还是会乱码
2、char*转QString
char* chTest;
QString strTest = QString::fromLocal8Bit(chTest);