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));

要根据实际编码需求来用不同的转换。测试是这样,欢迎谈论交流。

你可能感兴趣的:(Qt学习)