に私はUTF-8のデータが含まれている知っているstd::string content
を持っています。私はQString
に変換したいです。 QtのASCIIからの変換を避けるにはどうしたらいいですか?コンバートのstd :: stringはQStringの
51
A
答えて
66
const char*
かかりfromUtf8
呼ばQString
機能があります:
QString str = QString::fromUtf8(content.c_str());
47
QString::fromStdString(content)
は同様に正常に動作します。それはfromUtf8(content.data(), int(content.size()))
を返すように、それはまったく同じ結果を与える必要があります。
+2
。 Qt4では、QString :: fromAsciiを使用します。 –
4
通常、変換を行うための最善の方法は、方法fromUtf8を使用していますが、あなたは、ロケール依存の文字列を持っているときに問題があります。これらのケースでは
、それはfromLocal8Bitを使用することが好ましいです。例:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
関連する問題
- 1. QString over std :: string
- 2. std :: stringデストラクタでQString :: toStdString()がクラッシュする
- 3. std :: stringのセグメンテーションフォルト
- 4. std :: string :: c_strとstd :: string :: dataの違いは何ですか?
- 5. なぜstd :: string :: max_size()== std :: string :: allocator :: max_size()
- 6. std :: string s =(std :: string) "a" + "b" + "c"; OK?
- 7. std :: stringとの変換に使用するQStringの関数のペアはどれですか?
- 8. boost :: interprocess - std :: string vs std :: vector
- 9. std :: vector <std::string>クラッシュ
- 10. boost :: format form c-stringまたはstd :: string
- 11. char * to std :: string
- 12. ctypes python std :: string
- 13. std :: string to LPCTSTR
- 14. std :: string in C#?
- 15. std :: string + = operator
- 16. std :: string allocation policy
- 17. std :: string :: back()
- 18. Boost Overload strange behavior .. `int(int)、int(std :: string)`が `int(int)、int(std :: string)、std :: string(std :: string)`とどのように違うのですか?
- 19. std:stringとstd :: stringの違い
- 20. std :: std :: stringとstd :: vectorの間の移動<unsigned char>
- 21. std :: string s()strange behavior
- 22. std :: __ cxx11 :: stringをstd :: stringに変換する
- 23. QStringのstd :: ostreamとoperator <<を継承するクラス
- 24. コンバート.dll.aは
- 25. コンバートUUID、(b)は
- 26. std :: stringの各文字のアドレス
- 27. const unsigned char * to std :: string
- 28. std :: string、wstring、u16/32string解説
- 29. C++ std :: string append vs push_back()
- 30. std :: stringと文字列
ああ、それを見落とし。ありがとう! –
より効率的な: 'QStringの:: fromUtf8(content.data()、content.size())'だけQt5で –