Der Komprimierungsalgorithmus, der in zlib verwendet wird, ist im Wesentlichen derselbe wie der in gzip und zip. Was sind gzip und zip? Wie unterscheiden sie sich und wie sind sie gleich?
Antworten
Zu viele Anzeigen?ZIP ist ein Dateiformat zum Speichern einer beliebigen Anzahl von Dateien und Ordnern zusammen mit verlustfreier Komprimierung. Es macht keine strengen Annahmen über die verwendeten Komprimierungsmethoden, wird aber am häufigsten mit DEFLATE verwendet.
Gzip ist sowohl ein Komprimierungsalgorithmus basierend auf DEFLATE, aber weniger belastet mit potenziellen Patenten usw., und ein Dateiformat zum Speichern einer einzelnen komprimierten Datei. Es unterstützt das Komprimieren einer beliebigen Anzahl von Dateien und Ordnern, wenn es mit tar kombiniert wird. Die resultierende Datei hat eine Erweiterung von .tgz
oder .tar.gz
und wird umgangssprachlich als tarball bezeichnet.
zlib ist eine Bibliothek von Funktionen, die DEFLATE in seiner häufigsten LZ77 Inkarnation umfassen.
Der wichtigste Unterschied besteht darin, dass gzip nur in der Lage ist, eine einzelne Datei zu komprimieren, während zip mehrere Dateien nacheinander komprimiert und sie anschließend in eine einzige Datei archiviert. Daher wird gzip die meiste Zeit mit tar verwendet (obwohl es auch andere Möglichkeiten gibt). Dies bringt einige Vor- und Nachteile mit sich.
Wenn Sie ein großes Archiv haben und nur eine einzige Datei benötigen, müssen Sie die gesamte gzip-Datei entpacken, um zu dieser Datei zu gelangen. Dies ist bei einer Zip-Datei nicht erforderlich.
Andererseits wird das Zip-Archiv wesentlich größer sein, wenn Sie 10 ähnliche oder sogar identische Dateien komprimieren, da jede Datei individuell komprimiert wird, während bei gzip in Kombination mit tar eine einzelne Datei komprimiert wird, was viel effektiver ist, wenn die Dateien ähnlich sind (gleich sind).