Text wird durcheinander ausgelesen

Alles rund um die Programmierung mit Qt
Antworten
torbx
Beiträge: 2
Registriert: 29. August 2008 14:34

Text wird durcheinander ausgelesen

Beitrag von torbx »

Hallo, ich speichere einen Text ab:
QDataStream out(&file);
out << QString("WOEd").toUtf8();
Ich speichere nicht nur Text, deshalb QDataStream.

Beim Auslesen mache ich das:

Code: Alles auswählen

QDataStream in(&file);
	QString test;
	in >> test;
	qDebug("%s",test.constData());
Bekomme dann aber diese Ausgabe:
OWdE
Also je zwei Buchstaben vertauscht. Liegt wahrscheinlich an Utf8, weiß aber nicht wie ich das Problem lösen soll. Utf8 sollte bleiben, weil ich auch Umlaute speichern will.

Inhalt der Datei:

Code: Alles auswählen

0x00 0x00 0x00 0x04 'W' 'O' 'E' 'd'
Was mache ich falsch?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Du schreibst es utf-8 kodiert in den Stream, liest es aber als QString (also unicode) aus und wunderst Dich dass es nicht geht? :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
torbx
Beiträge: 2
Registriert: 29. August 2008 14:34

Beitrag von torbx »

Christian81 hat geschrieben:Du schreibst es utf-8 kodiert in den Stream, liest es aber als QString (also unicode) aus und wunderst Dich dass es nicht geht? :roll:
Nein ich wunder mich wie ich es machen muss. Dass es nicht geht seh ich ja.
Habe es jetzt ohne toUtf8 geschrieben und dann gehts. Aber mich würde es doch wundern wie ich es anders auch einlesen könnte.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Als QByteArray einlesen und von utf8 kodieren.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten