首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将std::string转换为QString

将std::string转换为QString
EN

Stack Overflow用户
提问于 2010-12-03 01:45:58
回答 3查看 95.2K关注 0票数 83

我有一个std::string content,我知道它包含UTF-8数据。我想把它转换成QString。如何避免Qt中的from-ASCII转换?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-03 01:51:12

有一个名为fromUtf8QString函数,它接受一个const char*

代码语言:javascript
复制
QString str = QString::fromUtf8(content.c_str());
票数 97
EN

Stack Overflow用户

发布于 2013-09-01 19:32:27

QString::fromStdString(content)更好,因为它更健壮。还要注意,如果std::string是用UTF-8编码的,那么它应该会给出与QString::fromUtf8(content.data(), int(content.size()))完全相同的结果。

票数 109
EN

Stack Overflow用户

发布于 2015-09-02 20:34:41

通常,执行转换的最佳方式是使用fromUtf8方法,但问题是当字符串依赖于区域设置时。

在这些情况下,最好使用fromLocal8Bit。示例:

代码语言:javascript
复制
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4338067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档