zip entlüftet 0% ? Warum keine Kompression?
Ich versuche, die zip -, den Inhalt eines Ordner mit den 4 großen Dateien, sehr, sehr ähnlich. Daher erwarte ich, dass die Größe reduziert werden.
Hier ist der Befehl, den ich bin auf linux/fedora:
zip -9 myarchive.zip -r myfolder -P mypassword
Bekomme ich die Antwort:
adding: myfolder/(stored 0%)
adding: myfolder/Program1.exe (deflated 0%)
adding: myfolder/Program2.exe (deflated 0%)
adding: myfolder/Program3.exe (deflated 0%)
adding: myfolder/Program4.exe (deflated 0%)
Dann bekomme ich das Archiv, das ist ca die gleiche Größe wie mein original Ordner.
Scheint es, dass keine Kompression gibt. Warum?
- Was passiert, wenn du weglassen
-P mypassword
? - Nicht alle Daten können komprimiert werden.
- es ist das gleiche, als ich weglassen -P mypassword.
- "Nicht alle Daten können komprimiert werden". Ok, aber es scheint, dass die Kompression war 0% (sonst, was bedeutet "entlüftet 0%" bedeuten?). Und wie ich schon sagte, die 4 Dateien sind sehr, sehr ähnlich, so dass die Komprimierung erfolgen soll. Oder muss die zip nur komprimieren von einzelnen Dateien und nicht den Ordner als ganzes? Das wäre sehr traurig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Gegensatz zu
tar
+gzip
,zip
verwendet eine neue Kompressions-Tabelle für jede Datei, also auch wenn die vier Dateien identisch waren, es versuchen würde, zu komprimieren, jedes individuell.Technisch
tar
sieht auch jede Datei, aber es strings Sie zusammen in einem long-input fürgzip
, so dass die Kompressions-Schritt arbeitet auf einem riesigen input, das ist der Grund, warumtar
+gzip
liefert meist ein kleineres Ergebnis alszip
.Die Frage ist, warum Ihr
exe
- Dateien können nicht komprimiert werden.exe
- Dateien enthält in der Regel große Mengen von leicht komprimierbaren Daten, so sollten Sie verkleinert werden ("deflate") von mindestens 30%. Vielleicht sind die Dateien verschlüsselt oder verschleiert; diese Prozesse, die machen das Ergebnis schwer zu komprimieren.Aaron ist richtig. Nach
Wikipedia
, dieZIP
- format komprimiert, bevor es archiviert, so dass ähnlichkeiten zwischen den verschiedenen Dateien nicht hilft, Kompression.Sind Sie wirklich versuchen, zu komprimieren
.exe
Dateien? Irgendwie bezweifle ich, dass deine eigentliche Datei-Typ.Sehen http://en.wikipedia.org/wiki/ZIP_(file_format)#Advantages_and_disadvantages .
Entlüftet 0% bedeutet, dass Sie versuchen zu komprimieren, aber habe effektiv keine Kompression. Wie gesagt, das zip-format nicht nutzen können ähnlichkeiten zwischen verschiedenen Einträgen. tar + gzip kann, aber auch nur dann, wenn die Gemeinsamkeiten am Ende weniger als 32K bytes von einander entfernt. Andere Formate können Sie nutzen mehr Abstand ähnlichkeiten, wie etwa xz.
Ist es normal für unkomprimierte, ausführbare Dateien zu komprimieren, die von 30% bis 50%, was bedeutet, dass Ihre Programme sind entweder a) komprimiert etwas wie UPX, b) Sie sind selbstextrahierende komprimierte Daten, wobei der Dekompressor gespeichert ist, vor der komprimierten Daten, c) Sie sind sehr kurz, ausführbare Dateien mit einer Menge von komprimierten Daten, oder d) sind Sie meist verschlüsselt.
Einige Dateien können nicht komprimiert werden, insbesondere, wenn Ihre Entropie ist hoch. Dies geschieht, wenn die statistische Verteilung der bytes ist sogar (z.B. bei byte 0 so oft wie byte 1 byte 2...). Dies geschieht für bereits komprimierte Inhalte. Einige video-oder audio-Formate, die in diese Kategorie fallen.