Unzipping the Mystery: How ZIP Files Work

Als u ooit meerdere grote bestanden of programma’s hebt moeten e-mailen, uploaden of downloaden, bent u waarschijnlijk ZIP-bestanden tegengekomen. ZIP-bestanden, ook wel gecomprimeerde of gearchiveerde bestanden genoemd, comprimeren meerdere bestanden op één locatie met de extensie .zip of .ZIP, waardoor de totale grootte kleiner wordt en ze gemakkelijker kunnen worden verzonden.

Phillip Katz vond het ZIP-bestand uit in 1986, en het werd voor het eerst geïmplementeerd met het PKZip-programma voor Katz’ bedrijf, PKWare, Inc. Uiteindelijk werd de compressiemethode van Katz algemeen gebruikt binnen populaire besturingssystemen. Microsoft Windows en Apple’s Mac OS hebben ingebouwde programma’s om bestanden te comprimeren en te unzippen, en programma’s als WinRAR, WinZip en StuffIt kunnen ze uitbreiden.

ZIE OOK: De geschiedenis van GIFs

Maar hoe werkt het allemaal? Wat voor technologische magie is er in het spel om je bestanden kleiner te maken met behoud van alle informatie voor later?

Die “magie” is eigenlijk een vrij eenvoudig algoritme dat de overbodige aspecten van een bestand neemt en het opdeelt in kleinere delen.

Voor een eenvoudig te begrijpen voorbeeld nemen we de zin “Mashable kan helpen lezers slimmer te maken; lezers kunnen helpen Mashable slimmer te maken” en doen we net alsof het een bestand is.

Elk woord in de voorbeeldzin komt twee keer voor. Als elk teken en elke spatie in deze zin een geheugeneenheid zou vormen, zou het geheel een bestandsgrootte van 78 eenheden hebben. Als we een genummerde code – of “woordenboek” – voor deze zin zouden maken, zou het ongeveer zo kunnen gaan:


1. Mashable
2. can
3. help
4. make
5. readers
6. smarter
1 2 3 4 5 6; 5 2 3 4 1 6

Deze nieuwe zin heeft slechts 24 eenheden. Daarom zou het gecomprimeerde bestand slechts 24 geheugeneenheden hebben, naast een ander bestand met onze genummerde code, zodat het compressieprogramma weet hoe elke eenheid van informatie moet worden toegepast. Dit wordt “lossless compression” genoemd; alle oorspronkelijke informatie blijft behouden.

De manier waarop een echt compressieprogramma werkt is iets ingewikkelder dan het vorige voorbeeld – het zou patronen herkennen. Een voorbeeld is de letter “e” en een spatie na “Mashable” en “make.” Maar omdat er niet veel gevallen zijn waarin dit patroon voorkomt, zou het programma het waarschijnlijk overschrijven met een duidelijker patroon. Het eigenlijke programma kan een veel efficiënter woordenboek en gecomprimeerd bestand vinden dan wij.

Volgens de educatieve en instructieve website HowStuffWorks is het gebruikelijk dat talen overbodige patronen hebben, en daarom worden tekstbestanden gemakkelijk gecomprimeerd. Maar de reductieratio van het bestand hangt af van verschillende factoren, waaronder het type en de grootte van het bestand en de manier waarop het programma kiest om het te comprimeren.

Afbeeldingen en MP3-bestanden bevatten daarentegen meer unieke informatie zonder veel patronen. Dat is waar “lossy compression” om de hoek komt kijken – compressieprogramma’s verwijderen wat zij als overbodige informatie beschouwen. Als u bijvoorbeeld een gescande afbeelding had met een blauwe lucht, zou een compressieprogramma één kleur blauw kunnen kiezen voor elke pixel. Als het compressieschema goed werkt, zou de verandering niet erg merkbaar zijn, maar de bestandsgrootte zou aanzienlijk kleiner zijn.

Het probleem met lossy compressie is echter dat je het oorspronkelijke bestand niet uit het gecomprimeerde bestand kunt halen, waardoor het minder ideaal is dan lossless compressie wanneer je alle oorspronkelijke informatie moet behouden, zoals bij het downloaden van databases en bepaalde toepassingen.

Mashable composite image courtesy of , tose, Auris.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.