Een computer ritst een bestand (of een verzameling bestanden) met veel informatie met behulp van verliesloze compressie -algoritmen . Deze algoritmen werken door het identificeren en verwijderen van redundantie in de gegevens zonder de oorspronkelijke informatie te verliezen. Wanneer u het bestand uitpakt, worden de originele gegevens perfect gereconstrueerd.
Hier is een uitsplitsing van het proces:
1. Redundantie -detectie: Het compressie -algoritme analyseert de gegevens, op zoek naar herhalingspatronen, sequenties van vergelijkbare gegevens of voorspelbare informatie. Een tekstbestand kan bijvoorbeeld veel herhaalde woorden of zinnen hebben, een afbeelding kan grote gebieden van vergelijkbare kleuren hebben en een programma kan blokken repetitieve code hebben.
2. Gegevenstransformatie: Nadat de redundantie is geïdentificeerd, transformeert het algoritme de gegevens in een meer compacte weergave. Dit omvat vaak technieken zoals:
* Run-lengte codering (RLE): Vervangt herhalende sequenties van tekens of bytes door een telling en het herhaalde element. Bijvoorbeeld, "AAABBBCC" wordt "3a3b2c".
* Huffman Coding: Wijst kortere codes toe aan frequentere gegevenselementen en langere codes aan minder frequente. Dit vermindert de totale grootte van de gegevens.
* Woordenboekcodering (LZ77, LZ78, Lempel-Ziv): Bouwt een woordenboek van eerder aangetroffen gegevenssequenties. In plaats van de reeks herhaaldelijk op te slaan, verwijst het algoritme naar de invoer van de reeks in het woordenboek, waardoor de redundantie aanzienlijk wordt verminderd. Dit is een kerncomponent van veel populaire compressie -algoritmen zoals Deflate (gebruikt in zip).
* Burrows-Wheeler Transform (BWT): Reserveert de gegevens om lange runs van vergelijkbare tekens te maken, waardoor het voor andere compressietechnieken gemakkelijker wordt om effectief te werken. Dit wordt gebruikt in algoritmen zoals BZIP2.
3. Gegevenscodering: De getransformeerde gegevens worden vervolgens gecodeerd in een binair formaat, vaak inclusief een koptekst die metagegevens bevat, zoals de originele bestandsnamen, maten, tijdstempels en compressiemethode.
4. Opslag: De gecomprimeerde gegevens, inclusief de koptekst, worden naar het zip -bestand geschreven.
Waarom is het efficiënt met grote bestanden?
Hoe meer gegevens er zijn, hoe groter de kans dat het redundantie bevat. Compressie -algoritmen zijn zeer effectief in het benutten van deze redundantie. Een groot bestand heeft waarschijnlijk veel herhalende patronen of voorspelbare sequenties, waardoor significante grootteverminderingen mogelijk zijn. Een groot tekstbestand met een herhaalde uitdrukking zal bijvoorbeeld veel effectiever comprimeren dan een kort, uniek tekstbestand.
Kortom, het ritsen van een bestand verkleint niet op magische wijze de * Informatie * -inhoud, het maakt gewoon een * efficiënter * weergave van die informatie door de redundantie te verwijderen. Hoe meer redundantie, hoe groter de compressieverhouding. |