210 likes | 354 Views
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
E N D
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?