Jac*_*pap 83
QString::fromStdString(content)更好,因为它更强大.另请注意,如果std::string以UTF-8编码,那么它应该给出完全相同的结果QString::fromUtf8(content.data(), int(content.size())).
Mic*_*zek 82
有一个QString叫做的函数fromUtf8需要const char*:
QString str = QString::fromUtf8(content.c_str());
Run Code Online (Sandbox Code Playgroud)
小智 9
由于Qt5 fromStdString 内部使用 fromUtf8,因此您可以同时使用两者:
inline QString QString::fromStdString(const std::string& s)
{
return fromUtf8(s.data(), int(s.size()));
}
Run Code Online (Sandbox Code Playgroud)
通常,执行转换的最佳方法是使用fromUtf8中的方法,但问题是当您具有依赖于语言环境的字符串时.
在这些情况下,最好使用fromLocal8Bit.例:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
Run Code Online (Sandbox Code Playgroud)