std::string content
UTF-8データが含まれていることがわかっています。に変換したいQString
。QtでのASCIIからの変換を避けて、どうすればよいですか?
98959 次
4 に答える
111
QString::fromStdString(content)
より堅牢であるため、より優れています。またstd::string
、UTF-8でエンコードされている場合は、とまったく同じ結果が得られることに注意してくださいQString::fromUtf8(content.data(), int(content.size()))
。
于 2013-09-01T11:32:27.330 に答える
98
:を取るQString
と呼ばれる関数がありますfromUtf8
const char*
QString str = QString::fromUtf8(content.c_str());
于 2010-12-02T17:51:11.910 に答える
9
Qt5 fromStdStringは内部的にfromUtf8を使用するため、次の両方を使用できます。
inline QString QString::fromStdString(const std::string& s)
{
return fromUtf8(s.data(), int(s.size()));
}
于 2019-01-15T09:42:35.003 に答える
8
通常、変換を行う最良の方法はfromUtf8メソッドを使用することですが、問題は文字列がロケールに依存している場合です。
このような場合は、fromLocal8Bitを使用することをお勧めします。例:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
于 2015-09-02T12:34:40.863 に答える