QString::fromStdString(content)
这更好,因为它更稳健。
另请注意,如果
std::string
以 UTF-8 编码,那么它应该给出与 QString::fromUtf8(content.data(), int(content.size()))
完全相同的结果。
由于 Qt5 fromStdString 内部使用 fromUtf8,所以你可以同时使用:
inline QString QString::fromStdString(const std::string& s)
{
return fromUtf8(s.data(), int(s.size()));
}
通常,进行转换的最佳方法是使用方法 fromUtf8,但问题是当你的字符串依赖于语言环境时。
在这些情况下,最好使用 fromLocal8Bit。示例:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());