Till startsidan för Jonas Webresurs

Filkomprimering

1. Inledning

Den här sidan berättar lite om vad filkomprimering är. Den går igenom och förklarar de vanligaste begreppen och uttrycken. Längst ner hittar du några användbara länkar, där du kan söka vidare.

På sidan om WinZip har jag beskrivit lite mer om hur man praktiskt komprimerar och packar upp filer. Den finns på min CD-skiva. Läs mer på sidan om WinZip >>

2. Vad är filkomprimering?

Ordet "komprimera" betyder samma sak som "trycka ihop" eller "pressa samman". En komprimerad fil brukar ungefär ta upp 30-90% mindre plats efter det att den packats ihop, beroende lite på vad det är för en fil.

Filkomprimering har många år på nacken och användes förr för att man skulle få plats med alla sina filer på hårddisken. Man packade då ihop dem med särskilda program och fick sedan mer utrymme. Många har säkert svurit över att en fil bara nästan får plats på en diskett. Med filkomprimering hade hela filen förmodligen fått gott om plats.

Idag används olika komprimeringstekniker framförallt för att lättare kunna skicka filerna över Internet. Vissa filformat har även inbyggd komprimering, t.ex GIF och JPEG.

Komprimering används ibland också för att skydda sina filer från obehöriga, genom att man utnyttjar olika sorters kryptering och komprimeringsalgoritmer.

Förutom att skydda filer och göra att de tar mindre plats, finns det också andra användningsområden. Ett är att använda filkomprimering för arkivering. Det innebär att flera filer och ibland hela mappsystem, packas ihop till en enda arkivfil. Detta är t.ex väldigt användbart då man skall skicka många filer över nätet, eftersom man då bara får en enda fil att hantera.

Man kan också använda filkomprimering för att dela upp stora filer. Man kan t.ex lägga en sådan fil på många olika disketter eller andra lagringsenheter. Oftast måste man sedan använda samma program för att packa upp sin fil, som man hade när man tillverkade serien av filsegment. Man måste då också tänka på att ordningen på disketterna eller segmenten är viktig.

Filkomprimering används ofta av de som gör backuper av stora datorsystem. I stället för att lagra filerna som de är, kan man utnyttja lagringsenheten bättre, om filerna pressas samman. I synnerhet gäller ju detta webbhotell, som har dyra servrar, fyllda med filer. Att behöva köpa mer lagringsutrymme kostar oftast mycket pengar, vilket man kan inte har råd med.

Ytterligare en anledning till att använda filkomprimering är att vissa system på Internet inte klarar av att hantera alla tecken. Det kan vara svenska eller andra bokstäver, som i stället översätts med andra tecken. Då kan man komprimera sina filer för att skydda dem mot sådan förstöring.

3. Hur går komprimeringen till?

Tänk dig att du har ett Word-dokument, som skall få plats på sex A4-sidor, men som tar upp drygt en halv sida för mycket. Hur gör du då för att komprimera texten? Ja, ett sätt är ju att ta bort en eller flera bilder, ta bort onödig text eller minska textstorleken med en halv grad.

På motsvarande sätt fungerar annan filkomprimering. Man säger att man använder sig av olika algoritmer för att åstadkomma den komprimering man anser vara bäst.

En algoritm är ett sätt att göra något på, oftast en matematisk beräkning av något slag. Ordet "algoritm" kommer för övrigt från matematikern Mohammed ibn-Musa Al-Khowarizmi, som levde på det kungliga slottet i Bagdad, mellan åren 780-850.

GIF-formatet använder sig av s.k "LZW-komprimering", uppkallad efter upphovsmännen Lempel, Ziv och Welch. Även textfiler kan komprimeras med denna algoritm. Den innebär mycket enkelt att om det förekommer flera bildpunkter med samma färg på en viss yta, så ersätts denna information med en kortare kod, som säger exakt samma sak. Det program som man sedan skall visa bilden, måste alltså förstå dessa beskrivningar.

Ett enkelt exempel är den information vi kan använda för att tala om att det skall finnas 30 förekomster av bokstaven B i rad. Med en okomprimerad teknik skriver vi då:

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

Men skulle vi komprimera detta skulle vi kunna skriva så här i stället:

30B

I stället för att använda 30 tecken använder vi alltså bara tre. Självklart är algoritmerna mer avancerade än så här, men exemplet visar ändå hur man arbetar när man komprimerar filer.

Andra bildformat, t.ex JPEG och PNG, använder liknande komprimeringstekniker. De algoritmer som används är dock inte så enkla att förstå och man måste normalt vara ganska duktig på matematik för att verkligen kunna bemästra området.

En bildfil, som tar upp 100kB när den är sparad, kan mycket väl ta upp fem gånger så stor plats i arbetsminnet när den visas på skärmen. Detta beror på att bilden på skärmen är okomprimerad. Komprimeringen sker först när bilden sparas.

I ett bildbehandlingsprogram finns dessutom oftast en skillnad mellan den öppnade bilden i arbetsminnet och den som visas på bildskärmen. Detta beror på att skärmarna oftast inte klarar av att visa bildens alla detaljer. Detta utnyttjar man när man optimerar bilder. Då kan onödig information tas bort utan att kvaliteten försämras.

Filkomprimering kan vara antingen förstörande (lossy) eller oförstörande (lossless). Den förra innebär att data går förlorad när filen komprimeras. Så är det ju t.ex med JPEG-bilder, som förlorar information när "onödiga" pixlar och färger reduceras ur bilden. GIF-formatet och de flesta textfiler som komprimeras med särskilda program brukar däremot vara oförstörande, så att ingen information går förlorad.

Andra icke-förstörande tekniker är s.k följdlängdskodning, som på engelska kallas "run-length-encoding". Den fungerar efter likhetsprincipen, som exemplet ovan visade: I stället för att spara t.ex 200 blå pixlar i rad, sparar man informationen att det skall vara 200 blå pixlar i rad. Programmet man sparar i utnyttjar då en speciell kod för detta.

4. Vanliga filformat

Eftersom det finns många komprimeringstekniker, finns det också många olika filformat. Förutom bildformaten, som jag inte tar upp här, finns bl.a dessa:

Zip kan betyda olika saker, t.ex "zippad", som innebär att en fil är komprimerad. En fil med extensionen .zip är ett arkiv som skapats med t.ex programmen WinZip eller ZipIt. Ett självuppackande arkiv kan ha filextensionen .exe (Windows).

I Mac-miljö finns ett program som är ungefär lika vanligt som WinZip. StuffIT heter det. Filer som skapats i detta program får filändelsen .sit eller .sea.

Tar är ett unix-format som har filändelsen .tar och står för " Tape Archive". Det används för att skapa ett arkiv, dvs en enda fil, av flera filer, men de enskilda filerna är inte komprimerade.

Uuencode kallas även "Uuencode/Uudecode" eller Unix-to-Unix-encode. Det används ibland för e-post, som översätter bilagor till detta format, om MIME saknas. Enkelt uttryckt översätts alla 8-bitars tecken till 7-bitars ASCII-kod, så att även äldre system på Internet kan hantera dokumentet. Motsvarigheten i Mac-miljö heter BinHex.

BinHex används ibland för e-post, som översätter bilagor till detta format, om MIME saknas. Enkelt uttryckt översätts alla 8-bitars tecken till 7-bitars ASCII-kod, så att även äldre system på Internet kan hantera dokumentet. Motsvarigheten i unix-miljö heter Uuencode.

MIME står för "Multi-Purpose Internet Mail Extensions" och är en modernare variant av den ursprungliga e-postkodningen av text och bilagor. Gör det möjligt att skicka med multimediafiler i mail, tack vare att fler bitar används för att representera informationen. Har oftast filändelsen .hqx, men äldre, ASCII-kodade versioner heter oftast .hex.

5. Program för filkomprimering

För tio år sedan användes inte lika effektiva komprimeringstekniker som idag. Man hade också därför delvis andra filformat att hålla reda på. Dessutom användes något andra program. Det populära WinZip, som används i Windows-miljö, är t.ex oerhört mycket enklare än sina föregångare, DOS-programmen PKZIP och PKUNZIP.

Man kan använda samma program för både uppackning och komprimering. Program som gör båda delarna är WinZip för Windows och StuffIt Deluxe för Mac. Program som däremot bara klarar den enda delen av processen är t.ex just PKZIP och PKUNZIP för DOS/Windows, samt DropStuff och Stuffit Expander för Mac.

Här hittar du programmen:

Gå till min sida med: Surftips >

Kolla min sida med olika ord: Till ordlistan >


Den här sidan är en del av Jonas Webresurs - www.jonasweb.nu - copyright © 1998-2011