Entpacken des Mysteriums: Wie ZIP-Dateien funktionieren

Wenn Sie jemals mehrere große Dateien oder Programme per E-Mail, Upload oder Download hochladen mussten, sind Sie höchstwahrscheinlich auf ZIP-Dateien gestoßen. ZIP-Dateien, auch bekannt als komprimierte oder archivierte Dateien, komprimieren mehrere Dateien an einem einzigen Ort mit der Erweiterung.zip oder.ZIP, wodurch die Gesamtgröße reduziert und die Übertragung vereinfacht wird.

Zip Datei

Phillip Katz erfand die ZIP-Datei 1986, und sie wurde erstmals mit dem PKZip-Programm für Katz’s Firma PKWare, Inc. implementiert. Schließlich wurde Katz‘ Kompressionsmethode in gängigen Betriebssystemen üblich. Microsoft Windows und Apples Mac OS enthalten integrierte Dienstprogramme zum Komprimieren und Entpacken von Dateien, und Programme wie WinRAR, WinZip und StuffIt können sie erweitern.

SIEHE AUCH: Die Geschichte der GIFs

Aber wie funktioniert das alles?

Welche Art von technologischer Magie spielt eine Rolle, die Ihre Dateien kleiner macht und gleichzeitig alle Informationen für später aufrechterhält? Die Frage ist, wie funktioniert zip genau.
Diese „Magie“ ist eigentlich ein ziemlich unkomplizierter Algorithmus, der die redundanten Aspekte einer Datei in kleinere Teile zerlegt.
Für ein leicht verständliches Beispiel nehmen wir den Satz: „Mashable kann helfen, Leser intelligenter zu machen; Leser können helfen, Mashable intelligenter zu machen“, und tun so, als wäre es eine Datei.
Jedes Wort im Beispielsatz erscheint zweimal. Wenn jedes Zeichen und jeder Zwischenraum in diesem Satz eine Speichereinheit bilden würde, hätte das Ganze eine Dateigröße von 78 Einheiten. Wenn wir einen nummerierten Code – oder „Dictionary“ – für diesen Satz erstellt haben, könnte es so etwas wie diesen geben:

1. Mashable
2. kann
3. helfen
4. machen
5. Leser
6. intelligenter

1 2 3 4 5 6; 5 2 3 4 1 6
Dieser neue Satz hat nur 24 Einheiten. Daher hätte die komprimierte Datei nur 24 Speichereinheiten zusätzlich zu einer anderen Datei, die unseren nummerierten Code auflistet, so dass das Kompressionsprogramm weiß, wie jede Informationseinheit angewendet werden muss. Dies wird als „verlustfreie Kompression“ bezeichnet; alle ursprünglichen Informationen bleiben erhalten.

Die Funktionsweise eines eigentlichen Kompressionsprogramms ist etwas komplizierter als das vorherige Beispiel – es würde Muster erkennen.

Ein Beispiel ist der Buchstabe „e“ und ein Leerzeichen nach „Mashable“ und „make“. Da es aber nicht viele Fälle gibt, in denen dieses spezielle Muster auftritt, würde das Programm es höchstwahrscheinlich mit einem offensichtlicheren Muster überschreiben. Das eigentliche Programm ist in der Lage, ein viel effizienteres Dictionary und eine komprimierte Datei zu finden, als wir es konnten.

Laut der Bildungs- und Lehrseite HowStuffWorks ist es üblich, dass Sprachen redundante Muster haben, weshalb Textdateien leicht komprimiert werden können. Das Datei-Reduktionsverhältnis hängt jedoch von mehreren Faktoren ab, darunter vom Typ und der Größe der Datei und davon, wie das Programm sie komprimiert.

Im Gegensatz dazu enthalten Bilder und MP3-Dateien einzigartigere Informationen ohne viele Muster.

An dieser Stelle kommt die „verlustbehaftete Kompression“ ins Spiel – Kompressionsprogramme werden das los, was sie für unnötige Informationen halten. Wenn Sie ein gescanntes Bild z.B. mit einem blauen Himmel hätten, könnte ein Komprimierungsprogramm eine blaue Farbe für jedes Pixel auswählen. Wenn das Kompressionsschema gut funktioniert, wäre die Änderung nicht sehr auffällig, aber die Dateigröße wäre deutlich kleiner.

Das Problem mit der verlustbehafteten Komprimierung ist jedoch, dass Sie die Originaldatei nicht aus der komprimierten Datei beziehen können, was sie weniger ideal als die verlustfreie Komprimierung macht, wenn Sie alle Originalinformationen behalten müssen, z.B. beim Herunterladen von Datenbanken und bestimmten Anwendungen.