将std :: string转换为QString
我有一个std::string content
,我知道包含UTF-8数据。 我想将其转换为QString
。 我该怎么做,避免Qt中的ASCII转换?
有一个从fromUtf8
调用的QString
函数需要一个const char*
:
QString str = QString::fromUtf8(content.c_str());
QString::fromStdString(content)
可以正常工作。 它应该从fromUtf8(content.data(), int(content.size()))
返回完全相同的结果。
通常,进行转换的最好方法是使用fromUtf8的方法,但是问题在于当您具有string语言环境依赖性时。
在这些情况下,最好使用fromLocal8Bit 。 例:
std::string str = "ëxample"; QString qs = QString::fromLocal8Bit(str.c_str());