我有一个std::string content
,我知道它包含UTF-8数据。我想把它转换成QString
。如何避免Qt中的from-ASCII转换?
发布于 2010-12-03 01:51:12
有一个名为fromUtf8
的QString
函数,它接受一个const char*
QString str = QString::fromUtf8(content.c_str());
发布于 2013-09-01 19:32:27
QString::fromStdString(content)
更好,因为它更健壮。还要注意,如果std::string
是用UTF-8编码的,那么它应该会给出与QString::fromUtf8(content.data(), int(content.size()))
完全相同的结果。
发布于 2015-09-02 20:34:41
通常,执行转换的最佳方式是使用fromUtf8方法,但问题是当字符串依赖于区域设置时。
在这些情况下,最好使用fromLocal8Bit。示例:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
https://stackoverflow.com/questions/4338067
复制相似问题