Aehm, nur kurz ne Frage ...
warum ein QByteArray übern den umweg via (Q)string serialisieren ???
und warum der Umweg ueber QDataStream?
A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system, CPU or byte order. For example, a data stream that is written by a PC under Windows can be read by a Sun SPARC running Solaris.
Ist deine Order im QByteArry denn eigentlich genau spezifiziert ?
Ist auch genau spezifiziert, wie die Ausrichtung deiner Nutzdaten im "bytefeld" eigentlich ist ?
Normal ist das bei Motorola und Intel nicht gleich.
Ein Feld von Ints z.b. was nen mac geschrieben hat, musst "ziemlich aufwendig" nach intel konvertieren (sawtooth methode).
Wenn das ned beruecksichtigs, kriegst sowieso probleme beim serialisieren ....
wenn Motorola / intel keine bedeutung fuer dich hat, brauchst den Umweg ueber QDataStream ned ....
wenn es doch fest definiert ist, ist dein bytearray selber schon plattformunabhaengig, und Du brauchst QDataStream ned dazu ...
Das ist wohl auch der grund, warum es keinen fertigen operator fuer QDatastream und QByteArry scho gibt.
Also pump deine daten lieber per write() direkt ins QIODevice rein.
Felder von ints, oder andere dinge soltest du nicht ueber QByteArray direkt serialisieren, wenn Prozesseurunabhaengigkeit eine rolle spielt, sondern du solltest die Daten nach ihren folgen vorher aufloesen, also wenn 25 ints speichern willst, dann 25 in den datastream, und dann alle 25 werte hinterher. nur das garantiert dir die unabhaengigkeit.
Speicherbereiche aus unterschiedlichen daten (Structs, Arrays) sind nicht prozessorunabhaengig !!!
Ciao ....