Da musste denn warscheinlich mit readRawData aus dem Strom lesen, und das einem QBitArray übergeben. Denn mit QDataStream kannst nur aus Dateien lesen, die du mit Qt erstellt hast.
Da must du denn genau den Aufbau kennt. Du kannst keine Binärdateien lesen, wenn du den Aufbau nicht kennst. QDataStream ist für Dateien gedacht, du mit QDatastream gespeichert hast.
Also ich kenne den Aufbau, verstehe deine Argumentation leider nicht, wieso der QIODevice besser sein sollte als QDataStream, egal ob mit oder ohne Qt!?
QDatastream kannst nur wirklich benutzten, wenn du die Daten auch damit reingeschrieben hast. Wenn du binärdaten sagen wir mal ein Bild laden willst, muste IODevice nehmen. Denn laut Doku von DataStream schreib das Teil eine Versionsnummer in den Strom:( Also schätze ich mal versucht DataStream auch diese wieder zu lesen.
Ja, auch sonst werden keine eigenen Qt Daten eingefügt. Nur BitArray geht nicht. Und ich habe noch eine andere Frage, wie ließt du denn Dateien aus, wenn du eine BigEndian Datei hast und du dich auf einem LittleEndian System befindest?
Entschuldige, aber mir fehlt da wirklich die absolute Erklärung momentan. Vielleicht schreibst du mir einmal, was genau wie wo gehen sollte.
Im QDatastrem steht eine Markierung.
Sonst muste die Bytes/Bits drehen:(
Nur muste halt genau wissen, wie die Reihenfolge ist.
Und genau das nimmst dir QDatastream ab. Aber funktionieren tut das nur, wenn das die Daten auch mit QDatastrem geschrieben worden sind. Dann kannst die Daten überall lesen egal ob kleiner oder großer "Idianer"