Afsløring af mysteriet: Hvordan ZIP-filer fungerer

Hvis du nogensinde har været nødt til at sende e-mail, uploade eller downloade flere store filer eller programmer, har du højst sandsynligt stødt på ZIP-filer. ZIP-filer, også kendt som komprimerede eller arkiverede filer, komprimerer flere filer til et enkelt sted med udvidelsen .zip eller .ZIP, hvilket reducerer den samlede størrelse og gør dem lettere at overføre.

Phillip Katz opfandt ZIP-filen i 1986, og den blev først implementeret med programmet PKZip for Katz’ firma, PKWare, Inc. Efterhånden blev Katz’ komprimeringsmetode almindeligt anvendt i populære styresystemer. Microsoft Windows og Apples Mac OS indeholder indbyggede værktøjer til at komprimere og udpakke filer, og programmer som WinRAR, WinZip og StuffIt kan udvide dem.

SØG OGSÅ: Historien om GIF’er

Men hvordan fungerer det hele? Hvilken slags teknologisk magi er på spil, der gør dine filer mindre, mens du bevarer alle oplysninger til senere?

Denne “magi” er faktisk en ret simpel algoritme, der tager de overflødige aspekter af en fil og deler den op i mindre dele.

For at få et letforståeligt eksempel tager vi sætningen “Mashable kan hjælpe med at gøre læserne klogere; læserne kan hjælpe med at gøre Mashable klogere” og lader som om, at det er en fil.

Hvert ord i eksempelsætningen optræder to gange. Hvis hvert tegn og mellemrum i denne sætning udgjorde én hukommelsesenhed, ville det hele have en filstørrelse på 78 enheder. Hvis vi oprettede en nummereret kode – eller “ordbog” – for denne sætning, kunne den se således ud:


1. Mashable
2. kan
3. hjælp
4. gør
5. læsere
6. klogere
1 2 3 4 4 5 6; 5 2 3 4 1 6

Denne nye sætning har kun 24 enheder. Derfor vil den komprimerede fil kun have 24 hukommelsesenheder ud over en anden fil, der indeholder vores nummererede kode, således at komprimeringsprogrammet ved, hvordan hver enkelt informationsenhed skal anvendes. Dette kaldes “tabsfri komprimering”; alle de oprindelige oplysninger bevares.

Den måde, hvorpå et egentligt komprimeringsprogram fungerer, er lidt mere kompliceret end i det foregående eksempel – det ville genkende mønstre. Et eksempel er bogstavet “e” og et mellemrum efter “Mashable” og “make”. Men da der ikke er mange tilfælde, hvor dette særlige mønster forekommer, ville programmet højst sandsynligt overskrive det med et mere tydeligt mønster. Det faktiske program er i stand til at finde en meget mere effektiv ordbog og komprimeret fil, end vi kunne.

I henhold til uddannelses- og instruktionswebstedet HowStuffWorks er det almindeligt for sprog at have redundante mønstre, hvilket er grunden til, at tekstfiler let kan komprimeres. Men filreduktionsforholdet afhænger af flere faktorer, herunder filens type og størrelse, og hvordan programmet vælger at komprimere den.

I modsætning hertil indeholder billeder og MP3-filer mere unik information uden mange mønstre. Det er her “lossy compression” kommer ind i billedet – komprimeringsprogrammer fjerner det, de anser for unødvendige oplysninger. Hvis du f.eks. havde et scannet billede med en blå himmel, kunne et komprimeringsprogram udvælge én farve blå, der blev brugt for hver pixel. Hvis kompressionsordningen fungerer godt, ville ændringen ikke være særlig mærkbar, men filstørrelsen ville være betydeligt mindre.

Problemet med tabsgivende komprimering er dog, at du ikke kan få den originale fil fra den komprimerede fil, hvilket gør den mindre ideel end tabsfri komprimering, når du har brug for at bevare alle de originale oplysninger, f.eks. når du downloader databaser og visse programmer.

Mashable sammensat billede med venlig hilsen af , tose, Auris.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.