GNU/Linux >> LINUX-Kenntnisse >  >> Linux

GZip erzeugt unter macOS und Linux nicht das gleiche komprimierte Ergebnis

Beachten Sie, dass der Komprimierungsalgorithmus (Deflate) in GZip nicht streng bijektiv ist. Zur Erläuterung:Für einige Daten gibt es mehr als eine mögliche komprimierte Ausgabe, abhängig von der algorithmischen Implementierung und den verwendeten Parametern. Es gibt also überhaupt keine Garantie dafür, dass Apple GZip und gzip 1.6 dasselbe komprimiert zurückgeben Ausgang. Diese Ausgaben sind alle gültige GZip-Streams, der Standard garantiert lediglich, dass jede dieser möglichen Ausgaben dekomprimiert wird auf dieselben Originaldaten.


Das Format sollte sehr stabil sein, aber siehe seine Beschreibung. Es enthält ein Feld für die Betriebssystem-ID. Offensichtlich wird das für MacOS und Linux und FreeBSD und...

unterschiedlich sein

Gzip-Format ist Standard, die Implementierung - nicht unbedingt. Wikipedia listet mindestens 5 unabhängige Free/Oss-Implementierungen auf, und es gibt auch proprietäre. Apple gibt eindeutig eine andere Versionszeichenfolge aus.

Sowohl das Format als auch der Algorithmus lassen viel Freiheit und viele Gestaltungsmöglichkeiten zu, die entweder Geschmackssache sind und/oder in verschiedenen Anwendungsfällen besser funktionieren.

Siehe Zip-Dateien:Geschichte, Erklärung und Implementierung

Ich würde im Allgemeinen erwarten, dass die Ergebnisse zwischen verschiedenen Implementierungen nur für einen kleinen Prozentsatz kleiner Dateien gleich sind.


Linux
  1. Linux-Skript, um zu überprüfen, ob der Prozess ausgeführt wird, und auf das Ergebnis zu reagieren

  2. Was entspricht dem Linux-Befehl sudo fdisk -l in MacOS?

  3. Was ist die kleinstmögliche Linux-Implementierung?

  4. BCRYPT - Warum verwenden die Linux-Distributionen es nicht standardmäßig?

  5. Linux - Gleichzeitiges Ausführen desselben Befehls auf vielen Computern

6 Linux-Distributionen, die vom Look and Feel von macOS

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist die Shell unter Linux?

So zeigen Sie den Inhalt eines Archivs oder einer komprimierten Datei unter Linux an

Der Timer-Befehl in Linux

Wie verwende ich den Gzip-Befehl unter Linux?