Bildiğim UTF-8 verisi std::string content
var. Onu QString
'a dönüştürmek istiyorum. Bunu nasıl yapabilirim, Qt'deki ASCII dönüşümünden kaçınıyorum?Std :: string'i QString'e dönüştürün
51
A
cevap
66
bir const char*
alır fromUtf8
adında bir QString
işlevi vardır:
QString str = QString::fromUtf8(content.c_str());
47
QString::fromStdString(content)
de gayet iyi çalışıyor. fromUtf8(content.data(), int(content.size()))
döndüğünden tam olarak aynı sonucu vermelidir.
+2
Sadece Qt5'te. Qt4'te QString :: fromAscii kullanır. –
4
Genellikle, dönüştürme işlemini yapmanın en iyi yolu, fromUtf8 yöntemini kullanmaktır, ancak sorun, dizgeye bağlı olarak dizeleriniz olduğu zamandır.
Bu durumlarda, fromLocal8Bit kullanılması tercih edilir. Örnek:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
Ah, gözden kaçırdı. Teşekkürler! –
Daha verimli: 'QString :: fromUtf8 (content.data(), content.size())' –