ZIP-formatet Av Viktor Ekholm
Vad ska jag prata om? Allmänt om ZIP-formatet och dess användningsområden ZIP-formatets skapare, Phil Katz, och PKZIP Hur man använder ZIP-program och vilka sådana det finns Komprimering i ZIP-filer – DEFLATE
Användningsområden Främst: komprimering ”Arkivfilformat” – lagra många filer och mappar och behålla mappstrukturen Dessa egenskaper underlättar när man t.ex. vill flytta filer
ZIP-filer Brukar ha filändelsen ”.zip” eller ”.ZIP” Andra program använder också ZIP Firefox installationsfiler för tilläggsmoduler använder ZIP med filändelsen ”.xpi” Google Earth, Sony Ericssons och Nokias mobiltelefoner och id Softwares spel använder också ZIP
Phil Katz 1980-talet: det fanns behov för ett bra komprimeringsprogram då överföringshastigheten var låg Phil Katz såg detta behov: utvecklade första versionen av ZIP
PKZIP 1989 släppte Katz som 23-åring sitt program, PKZIP fritt på webben Var gjort för operativsystemet MS-DOS
PKZIP Blev inte så uppmärksammat i början Microsoft såg formatet tilltalande och gjorde sitt eget komprimeringsformat – CAB ZIP kom så småningom att bli ett av världens mest viktiga och använda filformat
ZIP-program För att använda ZIP-filer måste man ha ett ZIP-program I modernare operativsystem finns sådana inbyggda Windows ME, 2000, XP och Vista har stöd, de senare versionerna av Mac OS X har och även ett flertal Linux-distributioner
ZIP-program Windows version av ZIP-filer kallas för ”komprimerade mappar” Man kan skapa en ZIP-fil genom att högerklicka och välja att man vill skapa en komprimerad mapp Man kan öppna en ZIP-fil på liknande sätt som en vanlig mapp
ZIP-program Det finns också ett flertal andra program som hanterar ZIP-filer: WinRAR, WinZip, WinAce, 7-Zip, TUGZip, bzip2, gzip och p7zip
Komprimering Komprimering varierar från fil till fil Ordbehandlingsfiler (t.ex. Word-filer) komprimeras oftast mycket Bildfiler komprimeras knappt alls
Komprimering I en ZIP-fil komprimeras varje enskild fil separat Om man bara vill läsa en fil från en ZIP-fil behöver inte hela ZIP-filen läsas Olika komprimeringsalgoritmer kan användas på olika filer Många små filer komprimerade med ZIP blir större än t.ex. ett tar-arkiv komprimerad med gzip, där alla filer slås ihop till en
DEFLATE ZIP-filer använder sig av komprimeringsalgoritmen DEFLATE DEFLATE består av två komprimeringsmetoder: LZ77 och Huffmankodning
LZ77 Utvecklades av Abraham Lempel och Jacob Ziv i slutet av 1970-talet Går ut på att man gör sig av med strängar som förekommer ett flertal gånger i en fil
LZ77 Söker efter flera förekomster av samma sak i en fil Lämnar den första i sin originalform Resten av förekomsterna ersätts med en kortare referens till den första
LZ77 Referensen kallas length-distance-pair Anger length – längden på originalförekomsten i antal tecken Anger även distance – avståndet mellan referensen och originalförekomsten i tecken
Huffmankodning Uppfanns 1952 av en doktorand vid Massachusetts Institute of Technology – David A. Huffman
Huffmankodning Ersätter sekvenser som förekommer ofta i en fil med en kort representation Sekvenser som förekommer mer sällan får en längre representation Kräver att man går igenom filen och räknar ut frekvensen för olika sekvenser eller tecken
Huffmankodning De två minst förekommande tecknen tilldelas en nolla och en etta Därefter slås dessa två teckens frekvenser ihop och betraktas som ett tecken med en frekvens Sedan börjar allt om igen – de två tecknen med de minsta frekvenserna blir tilldelade en nolla och en etta, osv.
Huffmankodning Exempel: vi har en fil som endast innehåller tre tecken – x, y och z Filen ser ut så här: ”xyyxxzyxyzzxxyzxyzxy” Blir: ”0 10 10 0 0 11 10 0 10 11 11 0 0 10 11 0 10 11 0 10” Istället för 160 bitar (8 · 20)
Sammanfattning Komprimerings- och arkivfilformat Phil Katz skapade formatet och utvecklade även det första ZIP-programmet – PKZIP Populärt filformat, är fortfarande standard Många ZIP-program: WinZip, WinRAR, 7-Zip Komprimerar genom DEFLATE: LZ77 och Huffmankodning Och frågor?