2010-12-02 17 views

Antwort

66

Es gibt eine QString Funktion fromUtf8 genannt, die eine const char* nimmt:

QString str = QString::fromUtf8(content.c_str()); 
+0

Ah, habe es übersehen. Vielen Dank! –

+14

Effizienter: 'QString :: fromUtf8 (content.data(), content.size())' –

47

QString::fromStdString(content) fein wie gut funktioniert. Es sollte genau das gleiche Ergebnis geben, wie es fromUtf8(content.data(), int(content.size())) zurückgibt.

+2

Nur in Qt5. In Qt4 verwendet es QString :: fromAscii. –

4

Normalerweise ist die beste Methode für die Konvertierung die Methode fromUtf8, aber das Problem liegt vor, wenn die Zeichenfolgen länderabhängig sind.

In diesen Fällen ist es besser, fromLocal8Bit zu verwenden. Beispiel:

std::string str = "ëxample"; 
QString qs = QString::fromLocal8Bit(str.c_str()); 
Verwandte Themen