Wenn Sie jemals mehrere große Dateien oder Programme per E-Mail verschicken, hoch- oder herunterladen mussten, sind Sie höchstwahrscheinlich auf ZIP-Dateien gestoßen. ZIP-Dateien, die auch als komprimierte oder archivierte Dateien bezeichnet werden, fassen mehrere Dateien an einem einzigen Ort mit der Erweiterung .zip oder .ZIP zusammen, wodurch die Gesamtgröße verringert und die Übertragung erleichtert wird.
Phillip Katz erfand die ZIP-Datei 1986, und sie wurde zunächst mit dem Programm PKZip für Katz’ Firma PKWare, Inc. implementiert. Mit der Zeit wurde Katz’ Komprimierungsmethode in den gängigen Betriebssystemen verwendet. 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.
Aber wie funktioniert das alles? Welche Art von technologischer Magie ist im Spiel, die Ihre Dateien kleiner macht, während alle Informationen für später erhalten bleiben?
Diese “Magie” ist eigentlich ein ziemlich einfacher Algorithmus, der die redundanten Aspekte einer Datei nimmt und sie in kleinere Teile zerlegt.
Für ein leicht verständliches Beispiel nehmen wir den Satz “Mashable kann helfen, die Leser schlauer zu machen; die Leser können helfen, Mashable schlauer zu machen” und stellen uns vor, es sei eine Datei.
Jedes Wort im Beispielsatz kommt zweimal vor. Wenn jedes Zeichen und jedes Leerzeichen in diesem Satz eine Speichereinheit ausmachen würde, hätte das Ganze eine Dateigröße von 78 Einheiten. Wenn wir einen nummerierten Code – oder ein “Wörterbuch” – für diesen Satz erstellen würden, könnte er etwa so aussehen:
1. Mashable
2. can
3. help
4. make
5. readers
6. smarter
Dieser neue Satz hat nur 24 Einheiten. Daher würde die komprimierte Datei nur 24 Speichereinheiten haben, zusätzlich zu einer weiteren Datei, die unseren nummerierten Code auflistet, so dass das Komprimierungsprogramm weiß, wie es jede Informationseinheit anwenden muss. Dies nennt man “verlustfreie Komprimierung”; alle ursprünglichen Informationen bleiben erhalten.
Die Funktionsweise eines tatsächlichen Komprimierungsprogramms 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 dieses Muster aber nicht oft vorkommt, würde das Programm es höchstwahrscheinlich mit einem offensichtlicheren Muster überschreiben. Das tatsächliche Programm ist in der Lage, ein viel effizienteres Wörterbuch und eine komprimierte Datei zu finden, als wir es könnten.
Laut der Bildungs- und Lehrwebsite HowStuffWorks ist es üblich, dass Sprachen redundante Muster aufweisen, weshalb Textdateien leicht komprimiert werden können. Die Verkleinerung der Datei hängt jedoch von mehreren Faktoren ab, u. a. von der Art und Größe der Datei und davon, wie das Programm sie komprimiert.
Im Gegensatz dazu enthalten Bilder und MP3-Dateien mehr eindeutige Informationen ohne viele Muster. Hier kommt die “verlustbehaftete Komprimierung” ins Spiel – Komprimierungsprogramme entfernen die Informationen, die sie für unnötig halten. Bei einem gescannten Bild mit blauem Himmel zum Beispiel könnte ein Komprimierungsprogramm für jedes Pixel eine Farbe Blau auswählen. Wenn das Komprimierungsschema gut funktioniert, wäre die Änderung nicht sehr auffällig, aber die Dateigröße wäre erheblich kleiner.
Das Problem bei der verlustbehafteten Komprimierung ist jedoch, dass man die ursprüngliche Datei nicht aus der komprimierten Datei erhalten kann, was sie weniger ideal macht als die verlustfreie Komprimierung, wenn man alle ursprünglichen Informationen behalten muss, z. B. beim Herunterladen von Datenbanken und bestimmten Anwendungen.
Mashable Composite Image mit freundlicher Genehmigung von , tose, Auris.