warum zippbarer einzelne Dateien besser als mehrere Dateien mit dem gleichen Inhalt zu komprimieren?

Die Möglichkeit, unsere Dateien zu komprimieren, so dass es einfacher ist, zu teilen und / oder sie transportieren kann unser elektronisches Leben viel einfacher machen, aber manchmal können wir ungerade oder unerwartete Sizing Ergebnisse sehen, nachdem wir sie komprimieren. Warum das? Super-User-Q & A Heute Beitrag hat die Antworten auf einen Fragen des verwirrten Leser.

Die heutige Frage & Antwort-Session kommt zu uns mit freundlicher Genehmigung von Super-User-Unterabteilung Stapel Wechsel, eine Community-getriebene Gruppierung von Q & A-Web-Sites.

Foto mit freundlicher Genehmigung von Jean-Etienne-Minh-Duy Poirrier (Flickr).

Super-User-Leser sixtyfootersdude will wissen, warum zip der Lage ist, einzelne Dateien besser als mehrere Dateien mit der gleichen Art von Inhalt zu komprimieren

Nehmen wir an, dass ich 10.000 XML-Dateien haben und wollen, dass sie einen Freund zu senden. Bevor sie zu senden, würde Ich mag sie zu komprimieren.

Methode 1: Them nicht komprimieren

Ergebnisse

Methode 2: Zip jede Datei separat und schicken Sie ihm 10.000 Zip-XML-Dateien

Befehl

Ergebnisse

Methode 3: Erstellen einer einzigen ZIP-Datei mit allen 10.000 XML-Dateien

Befehl

Ergebnisse

Methode 4: verketten Sie die Dateien in einer einzigen Datei und Zip It

Befehl

Ergebnisse

Fragen

Zusätzliche Information

Meta-Daten

Einer der gegebenen Antworten legt nahe, dass der Unterschied ist das System Meta-Daten, die in der Zip-Datei gespeichert wird. Ich glaube nicht, dass dies der Fall sein kann. Um es zu testen, habe ich die folgenden

Die sich ergebende Zip-Datei ist 1,4 MB. Das bedeutet, dass es noch etwa zehn MB ungeklärter Raum.

Warum ist zippbarer einzelne Dateien besser als mehrere Dateien mit der gleichen Art von Inhalt zu komprimieren?

Super-User-Beiträgen Alan Shutko und Aganju haben die Antwort für uns. First up, Alan Shutko

Zip Kompression beruht auf wiederholende Muster in den Daten komprimiert werden, und die Komprimierung wird immer besser, je länger die Datei, da immer mehr Muster gefunden und verwendet werden kann.

Vereinfachte, wenn Sie eine Datei komprimieren, das Wörterbuch, das Karten (kurz) Codes (mehr) Muster notwendigerweise in jeder resultierenden ZIP-Datei enthalten ist, wenn Sie eine lange Zip-Datei, ist das Wörterbuch “wiederverwendet” und wächst noch effektiver in allen Inhalt.

Wenn Ihre Dateien sogar ein bisschen ähnlich sind (wie Text immer ist), die Wiederverwendung des “Wörterbuch” wird sehr effizient, und das Ergebnis ist eine viel kleinere Gesamt Zip-Datei.

Gefolgt von der Antwort von Aganju

In zip, wird jede Datei einzeln komprimiert. Das Gegenteil ist der feste Kompression, das heißt, Dateien zusammen komprimiert werden. 7-Zip und Rar verwenden feste Kompression standardmäßig. Gzip und bzip2 können mehrere Dateien nicht komprimieren, so Tar zuerst verwendet wird, die gleiche Wirkung wie feste Kompression aufweisen.

Als XML-Dateien eine ähnliche Struktur (und wahrscheinlich ähnlichen Inhalt) haben, wenn die Dateien zusammen komprimiert werden, dann wird die Kompression höher sein.

Zum Beispiel, wenn eine Datei, die die Zeichenfolge “