QString Unicode binär serialisieren

Alles rund um die Programmierung mit Qt
Antworten
T1c4L
Beiträge: 41
Registriert: 25. April 2008 17:10

QString Unicode binär serialisieren

Beitrag von T1c4L »

Hi alle!

Wie kann man einen QString welcher mit z.beispiel russichen symbolengefüllt ist "еуые сщву" mittels QT serialisieren?

Mein erster ansatz sah so aus:

Code: Alles auswählen

QString str; // gefüllt mit unicode zeichen
Qfile file;
file.open(params)

file.write(   str.toLatin1() );

file.close
Aber toLatin1() verwuschtelt meinen string. Habt ihr eine Idee wie ich das machen könnte?

Danke im voraus!

Cheers,
Mike
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QTextStream?
T1c4L
Beiträge: 41
Registriert: 25. April 2008 17:10

Beitrag von T1c4L »

kann ich damit den unicode string auch binär schreiben?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Mir scheint Du hast ein Problem mit der Doku. Auf QTextStream wurde schon verwiesen und dann hast Du das wohl nicht gefunden.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Weisst du was er serialisieren will ?
kann es sein, das die unicode strings nur teile der daten sind, und der rest dann so "zeugs", was man nur schlecht in nen textstream pappen kann, ohne hinterher mit erheblichen aufwand das zeugs zurueckzuconvertieren muessen.

So abartig find ich seine frage nicht ! Sollt halt nur schreiben das er nicht in nen Textstream serialisieren kann / will.

@T1c4L
klar kann man unicode "binaer" serialisieren.
z.b. einfach als UTF-16 behandeln ...
- const ushort * QString::utf16 () const
- QString QString::fromUtf16 ( const ushort * unicode, int size = -1 )

Felder von shorts wirst hoffentlich selber wegschreiben koennen ...

Ciao ...
T1c4L
Beiträge: 41
Registriert: 25. April 2008 17:10

Beitrag von T1c4L »

hey RHBaum vielen dank fuer die hilfe!
Ich probier das mal mit utf16, wie ich ein ushort wegschreib weiss ich noch nicht.

Bisher hatte ich meine string via ofstream weggeschrieben like this:

Code: Alles auswählen

ofstream::write(char*, len);
muss mal schauen, den alten weg kann ich jetzt schonmal nicht nehmen da würden mir bestimmt beim schreiben dann daten verloren gehen?

ich google mal bin aber fuer help dankbar. da ich unter zeitdruck steh :D

thx nochmal an alle poster!! ich lerne immer dazu auch wenn bei manchen posts mir nicht geholfen wird!!

cheers,
mike
Antworten