qt 幾種char * 轉 QString方法(支持中文)

網上很多 char * 和 QString的相互轉換,但一般都沒有提到字符集的編碼,使用Utf8和GB2312編碼是有區別的,這時候需要用不用的轉換方法。目前知道的有以下幾種轉換方法。

char *test;

QString::fromUtf8(test);
QString(test);
QTextCodec::codecForName("GB2312")->toUnicode(test);
QString::fromLocal8Bit(test);
QString(QLatin1String(test));

不同編碼需要用不同的轉換方法,根據測算給出下面的結論。

(1)當使用的是Utf8編碼時,經測試使用以下兩個都沒有問題

      QString::fromUtf8(test);
      QString(test);

(2)當使用的是GB2312編碼時,經測試使用以下兩個都沒有問題

      QString::fromLocal8Bit(test);
      QString(QLatin1String(test));

要根據實際編碼需求來用不同的轉換。測試是這樣,歡迎談論交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章