Ein Computer zert . Diese Algorithmen funktionieren und entfernen die Redundanz in den Daten, ohne die ursprünglichen Informationen zu verlieren. Wenn Sie die Datei entpacken, werden die Originaldaten perfekt rekonstruiert.
Hier ist eine Aufschlüsselung des Prozesses:
1. Redundanzerkennung: Der Komprimierungsalgorithmus analysiert die Daten und sucht nach Wiederholungsmustern, Sequenzen ähnlicher Daten oder vorhersehbare Informationen. Beispielsweise kann eine Textdatei viele wiederholte Wörter oder Phrasen enthalten, ein Bild kann große Bereiche mit ähnlicher Farbe haben und ein Programm kann sich wiederholte Codeblöcke aufweisen.
2. Datenumwandlung: Sobald die Redundanz identifiziert ist, verwandelt der Algorithmus die Daten in eine kompaktere Darstellung. Dies beinhaltet oft Techniken wie:
* Kodierung von Run-Länge (RLE): Ersetzt sich wiederholte Sequenzen von Zeichen oder Bytes durch eine Anzahl und das wiederholte Element. Zum Beispiel wird "aaabbbcc" "3A3b2c".
* Huffman -Codierung: Weisen kürzere Codes an häufigere Datenelemente und längere Codes zu weniger häufigen. Dies verringert die Gesamtgröße der Daten.
* Wörterbuchcodierung (LZ77, LZ78, Lempel-Ziv): Erstellt ein Wörterbuch von zuvor auftretenden Datensequenzen. Anstatt die Sequenz wiederholt zu speichern, verweist der Algorithmus auf den Eintrag der Sequenz in das Wörterbuch und reduziert die Redundanz signifikant. Dies ist eine Kernkomponente vieler beliebter Komprimierungsalgorithmen wie Deflate (verwendet in ZIP).
* Burrows-Wheeler-Transformation (BWT): Es wird angeordnet, dass die Daten langlebige Läufe ähnlicher Zeichen erstellen, sodass andere Komprimierungstechniken effektiv funktionieren können. Dies wird in Algorithmen wie BZIP2 verwendet.
3. Datencodierung: Die transformierten Daten werden dann in einem binären Format codiert, häufig enthält ein Kopfzeile, der Metadaten wie die Original -Dateinamen, Größen, Zeitstempel und Komprimierungsmethode enthält.
4. Speicher: Die komprimierten Daten, einschließlich des Headers, werden in die Zip -Datei geschrieben.
Warum ist es mit großen Dateien effizient?
Je mehr Daten es gibt, desto wahrscheinlicher ist es, dass Redundanz enthalten ist. Komprimierungsalgorithmen sind sehr effektiv, um diese Redundanz auszunutzen. Eine große Datei hat wahrscheinlich viele Wiederholungsmuster oder vorhersehbare Sequenzen, die erhebliche Größenreduzierungen ermöglichen. Beispielsweise wird eine große Textdatei mit einer wiederholten Phrase viel effektiver als eine kurze, eindeutige Textdatei komprimiert.
Kurz gesagt, das Rollen einer Datei verkleinert die Inhalte von * Informationen * nicht auf magische Weise, sondern macht nur eine * effizientere * Darstellung dieser Informationen durch Entfernen der Redundanz. Je mehr Redundanz ist, desto größer ist das Kompressionsverhältnis.