So komprimieren Sie Dateien und warum Zip-Formate Bandbreite sparen

5

Wenn Sie Zeit damit verbringen, Software herunterzuladen oder große Dokumente zu teilen, sind Sie wahrscheinlich auf eine „.zip“-Datei gestoßen. Es ist eine dieser digitalen Annehmlichkeiten, die so gut funktioniert, dass wir sie kaum in Frage stellen. Die Grundvoraussetzung ist einfach: Nehmen Sie eine umfangreiche Datei, verkleinern Sie ihren Platzbedarf und bewegen Sie sie schneller im Internet. Oder sorgen Sie einfach dafür, dass es weniger Platz auf Ihrer Festplatte beansprucht.

Aber hier gibt es ein leichtes Paradoxon. Wie entfernt man Daten und holt sie später auf magische Weise wieder heraus, ohne dass auch nur ein einziges Bit fehlt?

Es ist keine Magie. Es handelt sich um Redundanzmanagement. Sobald wir uns mit den Grundlagen des Komprimierens einer Datei befassen, werden wir uns mit den Mechanismen dessen befassen, was tatsächlich in diesem Archiv passiert.

Komprimieren einer Datei: Die Kurzanleitung

Im Kern nutzt die Komprimierung Algorithmen, um die Dateigröße zu reduzieren. Dies spart Speicherplatz. Es beschleunigt auch die Übertragung über langsamere Verbindungen. Das Erstellen einer ZIP-Datei ist in den meisten modernen Betriebssystemen integriert. Für grundlegende Aufgaben benötigen Sie kein Spezialwerkzeug.

Hier ist der unkomplizierte Prozess.

1. Wählen Sie die Zieldateien aus

Beginnen Sie damit, herauszufinden, was Sie verkleinern möchten. Die Komprimierung liefert die besten Ergebnisse bei größeren Dateien. Videodateien und Rohbilder sind die besten Kandidaten, da sie viel Bandbreite und Speicherplatz beanspruchen. Kleine Textdateien lassen sich oft schlecht komprimieren, da ihnen die für eine effiziente Reduzierung erforderlichen sich wiederholenden Muster fehlen.

2. Integrierte Tools verwenden

Wahrscheinlich verfügen Sie bereits über die Software, die Sie benötigen.

Unter Windows ist der Vorgang denkbar einfach. Klicken Sie mit der rechten Maustaste auf die ausgewählten Dateien. Navigieren Sie zum Menü „Senden an“. Wählen Sie „Komprimierter (gezippter) Ordner“. Windows erledigt den Rest.

Mac-Benutzer haben eine ähnliche Verknüpfung. Klicken Sie bei gedrückter Strg-Taste auf die Dateien. Wählen Sie „Komprimieren“. Das System generiert automatisch ein Zip-Archiv.

Wenn Ihrem Betriebssystem diese Funktion fehlt oder Sie erweiterte Optionen benötigen, benötigen Sie Software von Drittanbietern. Tools wie 7-Zip oder WinRAR bieten eine detailliertere Kontrolle über die Komprimierungsstufen. Für den alltäglichen Gebrauch reichen die integrierten Tools aber völlig aus.

3. Erzeugen Sie das Archiv

Sobald Sie den Befehl auslösen, beginnt die Software mit der Arbeit. Es scannt die Dateien. Es wendet den gewählten Algorithmus an. Es erstellt eine neue ZIP-Datei im selben Verzeichnis wie die Originale.

Die Geschwindigkeit dieses Prozesses hängt von zwei Faktoren ab: Dateigröße und CPU-Leistung. Bei einigen großen Videos kann es einige Sekunden dauern. Ein Ordner voller winziger Textdateien kann aufgrund des Mehraufwands länger dauern, obwohl der endgültige Größengewinn möglicherweise vernachlässigbar ist.

4. Behandeln Sie das Ergebnis

Sie haben jetzt einen einzelnen Container. Sie können es umbenennen. Sie können es auf ein USB-Laufwerk verschieben. Sie können es per E-Mail senden. Der Empfänger muss den Inhalt extrahieren, um ihn verwenden zu können. Dadurch wird der Prozess umgekehrt.

Bedenken Sie die Kompromisse. Bei Dokumenten, Code und Text erfolgt die Komprimierung nahezu verlustfrei. Sie erhalten genau das zurück, was Sie eingegeben haben. Bei Bildern und Videos sieht die Sache anders aus. Einige Komprimierungsmethoden verringern die Qualität, um kleinere Größen zu erreichen. Dies wird als verlustbehaftete Komprimierung bezeichnet. Die Textkomprimierung erfolgt normalerweise verlustfrei.

Wie die Dateikomprimierung tatsächlich funktioniert

Computerdateien sind bekanntermaßen repetitiv. Sie enthalten immer wieder aneinandergereiht die gleichen Informationen. Komprimierungssoftware lebt von dieser Redundanz.

Anstatt „das“ dreihundert Mal zu schreiben, schreibt ein Komprimierungsalgorithmus „das“ einmal. Dann wird ein Referenzzeiger erstellt. Jedes weitere Mal, wenn es „das“ sieht, verweist es zurück auf die erste Instanz. Dadurch wird die Gesamtzahl der Bits und Bytes drastisch reduziert.

Um dies zu verstehen, schauen wir uns die Sprache an.

Denken Sie an die Antrittsrede von John F. Kennedy im Jahr 1961. Die berühmte Zeile:

„Fragen Sie nicht, was Ihr Land für Sie tun kann – fragen Sie, was Sie für Ihr Land tun können.“

Zählen wir die Einheiten. Das Zitat besteht aus 17 Wörtern. Es enthält 61 Buchstaben. Es gibt 16 Plätze. Ein Strich. Eine Periode. Wenn wir jedem Zeichen, Leerzeichen oder Symbol eine Speichereinheit zuweisen, beträgt die Gesamtdateigröße 79 Einheiten.

Lassen Sie uns nun die Redundanzen finden. Der Einfachheit halber ignorieren wir die Großschreibung.

  • „ask“ kommt zweimal vor.
  • „was“ kommt zweimal vor.
  • „Ihr“ erscheint zweimal.
  • „Land“ erscheint zweimal.
  • „can“ erscheint zweimal.
  • „do“ kommt zweimal vor.
  • „for“ erscheint zweimal.
  • „Sie“ kommt zweimal vor.

Ungefähr die Hälfte des Satzes ist überflüssig. Neun einzigartige Wörter – fragen Sie, nicht, was Ihr Land für Sie tun kann – enthalten fast alle notwendigen Informationen. Um die zweite Hälfte zu rekonstruieren, zeigt der Algorithmus einfach auf die Wörter in der ersten Hälfte. Es füllt die Leerzeichen und Zeichensetzung nach einfachen Regeln aus.

Dies ist die Essenz der verlustfreien Komprimierung. Es werden keine Informationen gelöscht. Es beseitigt Wiederholungen.

Als nächstes werden wir uns die Algorithmen, die nach diesen Mustern suchen, genauer ansehen.

Die versteckten Kosten der Wörterbuchkomprimierung

Die meisten Komprimierungstools basieren auf Variationen des adaptiven LZ-Wörterbuchalgorithmus. Es ist nach den Erfindern Lempel und Ziv benannt und der „Wörterbuch“-Teil ist der Mechanismus zum Katalogisieren wiederholter Daten. Das System zur Organisation dieser Einträge ist nicht komplex. Es könnte sich um eine einfache nummerierte Liste handeln.

Nehmen Sie den berühmten Ausspruch von JFK. Das Komprimierungsprogramm sucht nach wiederholten Wörtern und ordnet sie einem Index zu. Dann ersetzt es die Wörter durch die ihnen zugewiesenen Nummern.

Wenn das Wörterbuch so aussieht:

  • fragen Sie
  • was
  • Ihr
  • Land
  • kann
  • für
  • Du

Der Satz „Fragen Sie nicht, was Ihr Land für Sie tun kann; fragen Sie, was Sie für Ihr Land tun können“ wird zu einem Code. Es wird:

1 nicht 2 3 4 5 6 7 8 – 1 2 8 5 6 7 3 4

Ein empfangender Computer verwendet dasselbe Wörterbuch und dasselbe Zahlenmuster, um den Originaltext zu rekonstruieren. So funktioniert Expansion. Einige komprimierte Dateien enthalten ein eingebettetes Erweiterungsprogramm. Beim Herunterladen wird die Originaldatei automatisch neu erstellt.

Doch wie viel Platz spart das tatsächlich?

Die numerische Zeichenfolge ist kürzer als das vollständige Anführungszeichen. Es gibt einen Haken. Sie müssen das Wörterbuch selbst zusammen mit den komprimierten Daten speichern.

In einem realen Szenario ist die Berechnung der Dateianforderungen schwierig. Gehen Sie für diese Aufschlüsselung davon aus, dass jedes Zeichen und Leerzeichen einer Speichereinheit entspricht. Der vollständige Satz umfasst 79 Einheiten. Der komprimierte Satz verwendet 37 Einheiten. Das Wörterbuch umfasst ebenfalls 37 Einheiten.

Die Gesamtdateigröße beträgt 74 Einheiten. Die Reduzierung ist minimal.

Das ist nur ein Satz. Wenn der Algorithmus den Rest der Sprache verarbeiten würde, würde er feststellen, dass diese Wörter weitaus häufiger wiederholt werden. Die Effizienz verbessert sich mit zunehmender Wiederholung. Wie wir sehen werden, schreibt das System auch sein eigenes Wörterbuch neu, um die Organisation weiter zu optimieren.

Über die einfache Wortzuordnung hinaus

Bei den vorherigen Schritten ging es darum, vollständige, wiederholte Wörter zu identifizieren. Wir haben den Text als eine Folge diskreter Einheiten behandelt. Ein Komprimierungsalgorithmus kümmert sich nicht um Wörter. Es kümmert sich um Muster.

Das Ziel ist einfach: die Datei verkleinern.

Dazu sucht die Software nach Redundanz. Es wird nicht gefragt: „Ist das ein Wort?“ Es wird gefragt: „Habe ich diese Sequenz schon einmal gesehen?“ Und es ist rücksichtslos. Wenn ein Muster nur einmal vorkommt, wird es gelöscht. Wenn ein kürzeres Muster häufiger vorkommt als ein längeres, kann es sein, dass das längere Muster zerhackt wird.

Dies ist der „adaptive“ Kern LZ-basierter Algorithmen. Das Wörterbuch entwickelt sich weiter. Es ändert sich. Es optimiert in Echtzeit.

So funktioniert die Musterauswahl

Nehmen Sie den berühmten Ausspruch von JFK.

„Fragen Sie nicht, was Ihr Land für Sie tun kann, sondern fragen Sie nicht, was Sie für Ihr Land tun können.“

Ein Mensch sieht Worte. Ein Kompressor sieht Zeichen.

Die erste wiederholte Sequenz könnte winzig sein. „t“ gefolgt von einem Leerzeichen. Es kommt in „nicht“ und „was“ vor. Das Programm merkt sich das. Schreibt es auf. Dann geht es weiter.

Warum? Denn in diesem kurzen Ausschnitt wiederholt sich „t“ nicht genug, um die Kosten für die Speicherung der eigenen ID im Wörterbuch zu rechtfertigen. Es wird überschrieben oder ignoriert.

Als nächstes erscheint „ou“ in „your“ und „country“. Nützlich? Vielleicht. In einem vollständigen Buch ist „ou“ eine Goldgrube. Hier? Der Algorithmus findet etwas Besseres.

„Ihr“ und „Land“ erscheinen zusammen als „Ihr Land“. Zweimal wiederholt. Dies ist ein stärkeres Signal als „ou“. Der Wörterbucheintrag für „ou“ wird verworfen. „Dein Land“ tritt an seine Stelle.

Aber warte.

Schauen Sie sich „kann tun für“ an. Es folgen „your“ und „you“. Die Sequenz „kann für Sie tun“ wiederholt sich.

Was ist effizienter?
„Ihr Land“ = 13 Zeichen (einschließlich Leerzeichen).
„kann für Sie tun“ = 15 Zeichen.

Der Algorithmus bevorzugt die längere Übereinstimmung, wenn er mehr Bits pro Instanz spart. Aber „kann für Sie tun“ schließt „Sie“ ein, während „Ihr Land“ „Ihr“ einschließt.

Wenn das Programm die größtmögliche Zeichenersetzung priorisiert, könnte es „Ihr Land“ aufschlüsseln. Es behält „r Land“ als Suffix bei und erstellt einen primären Eintrag für „kann für Sie tun“. Dies ermöglicht es dem Kompressor, den Großteil der Phrase mit einem Code zu referenzieren, während er die geringfügigen Abweichungen („Ihr“ vs. „Sie“) mit sekundären Referenzen behandelt.

Dieses dynamische Umschreiben macht LZ anpassungsfähig. Das Wörterbuch ist nicht statisch. Es ist eine lebendige Aufzeichnung dessen, was gerade im Datenstrom passiert ist.

Das Kompressionsverhältnis

Verwendung unserer abgeleiteten Muster:

  • frag__
  • was__
  • Du
  • r__country
  • cando__for__you

Der ursprüngliche Satz wird zu einer Reihe von Hinweisen:

„1 nicht__ 2 3 4 5 __ — __ 1 2 3 5 4“.

Die Speichernutzung ändert sich dramatisch.

Originaltext: 79 Einheiten.
Komprimierte Daten: 18 Einheiten.
Wörterbuchaufwand: 41 Einheiten.
Gesamt: 59 Einheiten.

Wir haben 20 Einheiten gespart. Das entspricht etwa einer Reduzierung um 25 %. Nicht schlecht für ein paar Zeilen Rede. Und nicht unbedingt die effizienteste Ausgabe. Sie könnten wahrscheinlich eine engere Regelung finden. Aber der Punkt ist klar: Das Finden der richtigen Muster ist wichtiger als nur das Finden irgendwelcher Muster.

Warum Text besser komprimiert werden kann als Grafiken

Warum verkleinern sich manche Dateien um 50 % oder mehr, während andere sich kaum bewegen?

Redundanz.

Natürliche Sprachen sind hochgradig redundant. Buchstaben gruppieren sich auf bestimmte Weise. „Th“, „ing“, „tion“. Wörter wiederholen sich ständig. Textdateien weisen eine hohe Dichte dieser vorhersehbaren Strukturen auf. Hier gedeihen Kompressoren.

Der Programmiercode ist ähnlich. Ein begrenzter Satz von Schlüsselwörtern und Befehlen wiederholt sich endlos. „if“, „while“, „return“. Die Muster sind starr. Die Komprimierung funktioniert gut.

Grafik? Audio?

Nicht so sehr.

Ein Bild oder eine MP3-Datei enthält einzigartige Daten. Jedes Pixel hat einen bestimmten Wert. Jedes Hörbeispiel ist einzigartig. Es gibt nur wenige sich wiederholende Sequenzen. Die Entropie ist hoch. Der Algorithmus kann nicht genügend überlappende Muster finden, um ein nützliches Wörterbuch zu erstellen.

Aus diesem Grund schlägt die verlustfreie Komprimierung bei Mediendateien fehl. Sie benötigen unterschiedliche Techniken. Mehr dazu später.

Dateigröße und Algorithmusauswahl

Verbessert sich die Komprimierung bei größeren Dateien?

Im Allgemeinen ja.

Wenn wir die gesamte Rede von JFK komprimieren würden, wären die Einsparungen größer. Warum? Denn die gleichen Muster wiederholen sich häufiger. Die Wörterbucheinträge werden tausende Male wiederverwendet. Der Overhead des Wörterbuchs wird im Vergleich zu den Einsparungen vernachlässigbar.

Kleine Dateien? Der Wörterbuchaufwand verschlingt die Gewinne.

Auch die Wahl des Algorithmus spielt eine große Rolle.

Nicht alle LZ-Varianten sind gleich. Einige sind auf Text abgestimmt. Einige für Daten. Einige verwenden hierarchische Wörterbücher – Wörterbücher innerhalb von Wörterbüchern –, um komplexe, verschachtelte Muster in großen Dateien zu erfassen. Sie könnten bei kleinen Eingaben ersticken.

Programmierer optimieren diese Systeme ständig. Das Ziel ist immer dasselbe: bessere Übersetzungsverhältnisse, höhere Geschwindigkeiten. Aber eine universelle Lösung gibt es nicht.

Der beste Kompressor für Ihren Text ist möglicherweise der schlechteste für Ihre Datenbank.

Die von uns besprochene Komprimierung ist verlustfreie Komprimierung. Nur so ist gewährleistet, dass Sie die Originaldatei zurückerhalten. Jedes einzelne Bit bleibt erhalten. Sie teilen die Datei zur Speicherung oder Übertragung in kleinere Teile auf und setzen sie dann genau so wieder zusammen, wie sie waren. Es gehen keine Daten verloren.

Die verlustbehaftete Komprimierung geht einen anderen Weg. Es wird nicht versucht, alles zu bewahren. Stattdessen werden „unnötige“ Informationen ausgeblendet. Das Ziel ist einfach: Verkleinern Sie die Datei. Das sieht man überall. Es ist der Standard für Bitmap-Bilder.

Bitmaps sind aufgebläht. Sie fressen Platz. Ein gescanntes Foto ist ein perfektes Beispiel.

Verlustfreie Algorithmen haben hier Schwierigkeiten. Klar, große Abschnitte sehen identisch aus. Der Himmel ist blau. Aber schauen Sie genauer hin. Jedes Pixel ist etwas anders. Die Farbwerte verschieben sich. Um die Datei ohne Auflösungsverlust zu verkleinern, müssen Sie diese Werte ändern.

Das Programm wählt einen Blauton aus. Es weist jedem Pixel am Himmel diesen einzelnen Wert zu. Die Datei wird so umgeschrieben, dass sie auf diesen Verweis verweist. Das Ergebnis? Die Dateigröße sinkt deutlich. Sie werden den Unterschied nicht bemerken.

Aber es gibt einen Haken. Sie können die Originaldatei niemals zurückerhalten.

Sobald Sie es komprimieren, bleiben Sie bei der Interpretation der Realität durch das Programm hängen. Die Originaldaten sind verschwunden. Sie können die verlustbehaftete Komprimierung nicht für Dinge verwenden, die eine exakte Reproduktion erfordern. Softwareanwendungen? Nein. Datenbanken? Nein. Reden zur Amtseinführung des Präsidenten? Definitiv nicht.

„Bei der verlustbehafteten Komprimierung können Sie die Originaldatei nach der Komprimierung nicht wiederherstellen. Sie bleiben bei der Neuinterpretation des Originals durch das Komprimierungsprogramm hängen.“

Wir haben diesen Artikel in Verbindung mit der KI-Technologie aktualisiert und dann sichergestellt, dass er von einem HowStuffWorks-Redakteur auf Fakten überprüft und bearbeitet wurde.

Häufig gestellte Fragen zur Dateikomprimierung

Was bewirkt das Komprimieren einer Datei?
Es reduziert die Dateigröße. Kleinere Dateien bedeuten eine schnellere Übertragung. Sie senden und empfangen Daten schneller.

Was sind die grundlegenden Arten von Dateikomprimierungsschemata?
Es gibt zwei. Verlustfrei und verlustbehaftet. Lossless zerlegt die Datei und baut sie später wieder auf. Verlustbehaftet eliminiert Bits. Dadurch wird die Datei dauerhaft verkleinert. Sie können die verlustbehaftete Komprimierung nicht rückgängig machen.

Welche Komprimierung verwenden ZIP-Dateien?
Zip-Dateien basieren auf verlustfreier Datenkomprimierung. Sie verwalten mehrere Verzeichnisse. Sie verwenden Algorithmen wie DEFLATE. Die Daten werden genau so ausgegeben, wie sie eingegeben wurden.

Verringert die Dateikomprimierung die Qualität?
Ja. Nachdem ein Bild auf einem Computer oder in einer Kamera komprimiert wurde, leidet oft die Qualität. Die Schärfe nimmt ab. Der Kontrast lässt nach. Feine Farbdetails verschwinden. Das Bild sieht schlechter aus. Das ist der Kompromiss.