我有一个std::string content
,我知道它包含UTF-8数据。我想将它转换为QString
。我该怎么做,避免Qt中的ASCII转换?将std :: string转换为QString
51
A
回答
66
有一个QString
函数调用fromUtf8
,需要一个const char*
:
QString str = QString::fromUtf8(content.c_str());
47
QString::fromStdString(content)
正常工作为好。它应该给出完全相同的结果,因为它返回fromUtf8(content.data(), int(content.size()))
。
4
通常,进行转换的最佳方法是使用方法fromUtf8,但问题在于当您具有字符串区域设置相关性时。
在这些情况下,最好使用fromLocal8Bit。例如:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
相关问题
- 1. 如何将unicode QString转换为std :: string?
- 2. 怎样的std :: string转换为QString的
- 3. 在构造函数中将std :: string转换为QString
- 4. 将NSString转换为std :: string
- 5. 将std :: string转换为basic_ostream?
- 6. 将uint64_t转换为std :: string
- 7. 将void *转换为std :: string
- 8. 将std :: string转换为char
- 9. C++/CX:将std :: string转换为Platform :: String^
- 10. 如何将System :: String ^转换为std :: string?
- 11. 将std :: ostream转换为std :: string
- 12. 从Qstring转换为std :: string会抛出异常
- 13. 可互换地使用std :: string和QString
- 14. 无法将参数2从'std :: string *'转换为'std :: string'
- 15. 如何将Glib :: ustring转换为std :: string?
- 16. 如何将wchar_t *转换为std :: string? ?
- 17. 将void *(char * without \ 0)转换为std :: string
- 18. 如何将std :: string转换为LPCSTR?
- 19. 在C++中将float转换为std :: string
- 20. 将奇怪的std :: string转换为NSString
- 21. 将std :: string转换为MSVC特定__int64
- 22. 将Haskell ByteStrings转换为C++ std :: string
- 23. 从std :: string转换为NSString
- 24. 将CFStringRef转换为QString
- 25. 将bool转换为QString
- 26. 将Windows :: Foundation :: IAsyncOperation <String^> ^转换为std :: string
- 27. 将std :: string或string ^转换为C++/cli中的字节数组
- 28. 将std :: string转换为std :: vector <char>
- 29. 如何将UTF-8 std :: string转换为UTF-16 std :: wstring?
- 30. 转换QDate为Qstring?
啊,忽略它。谢谢! – 2010-12-02 17:54:34
更高效:`QString :: fromUtf8(content.data(),content.size())` – 2011-04-29 21:22:23