Unzip mit qUncompress()
-
mein Problem ist das qUncompress() eine 0 zurückgibt.
-
soll ich auf die 4 Bytes freilassen am Beginn(laut Bemerkung)? Das gilt wie ich verstehe nur für die Daten, die mit zlib Algorithmus kompressiert wurden.
-
Das weiß ich nicht, aber kannst du nicht einfach mit nem zip programm ne datei bekannten Inhalts packen und die hier zum Test nehmen?
-
ich habe gerade direkt aus der Datei gelesen:
QFile file("Test.txt"); file.open(QIODevice::ReadOnly); QByteArray uncompArray = qUncompress(file.readAll());
und uncompArray ist bei mir 0. Z_DATA_ERROR: Input data is corrupted
-
Wenn ich die Datei manuel selber als .zip umbennene und entpacke über 7-Zip-> Dateien entpacken. Kann ich den Inhalt problemlos in Notepad++ anschauen.
-
Dann versuch mal:
QFile file("Test.txt"); file.open(QIODevice::ReadOnly); QByteArray uncompressed = file.readAll(); qUncompress(uncompressed);
-
uncompArray enthält die Daten aus dem Textfile.Nicht die entpackten!!!
-
QByteArray output; ..... output = qUncompress(uncompArray); ... if(!output.isEmpty())<----------------ist 0
-
Häng dicht nicht an meiner Wortwahl auf. Hat es so funktioniert? Hinweis guck dir mal die Parameter von qUncompress an.
-
nein,die Funktion hat 0 geliefert.
-
liegt es vielleicht an dem Kompressionsalgorithmus. qUncompress() unterstützt vielleicht nicht entpacken mittel 7-Zip?
-
Kommt drauf an womit du mit 7zip packst. Den 7zip eigenen Algorithmus kann Qt nicht. Das kann alles was zLib kann.
Und bei entpackt das mit meinem geposteten Code.
-
also es geht nicht aufgrund Kompressionsalgorithmen(7Zip)? Unterstützt QuaZIP meinen Kompressionsalgorithmus 7-Zip?
-
Hab ich doch schon geschrieben. Qt kann was zLib kann.
-
danke dir
-
Unterstützt QuaZIP das Kompressionsalgorithmus 7-Zip?
-
Keine Ahnung, ich kenne das nicht. Bleib am besten erstmal bei den Standardalgorithmen.