**
qt 中文 qstring 和 csting 互转
**
#include <QDebug>
#include <QTextCodec>
#include <QString>
#include <QByteArray>
int main(int argc, char *argv[])
{
QString qstrTest= u8"中文测试abc123";
std::string strTest = "中文测试abc123";
// QString 转 std::string
QTextCodec* gbk = QTextCodec::codecForName("gbk");
QByteArray arr= gbk->fromUnicode(qstrTest);
std::string strDest= arr.data();
if(strTest == strDest)
{
qDebug() << u8"QString 转 std::string 成功";
}
else
{
qDebug() << u8"QString 转 std::string 失败";
}
// std::string 转 QString
QTextCodec* codec = QTextCodec::codecForName("gb2312");
QString qstrDest = codec->toUnicode(strTest.c_str(), strTest.length());
if(qstrTest == qstrDest)
{
qDebug() << u8"std::string 转 QString 成功";
}
else
{
qDebug() << u8"std::string 转 QString 失败";
}
return 0 ;
}