Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


Filformat och konvertering


Kompression - Mac

av Niklas Frykholm

Att packa upp Macintoshfiler som laddats ner från nätet är oftast en tvåstegsprocess. Först måste filen avkodas och sedan kan den packas upp.

Kodning
När Macintoshfiler lagras på en UNIX eller PC-dator så används någon form av kodning. Detta görs av två anledningar. Den första anledningen är att alla Macintoshfiler har två delar, en resursdel och en datadel. Resursdelen kan innehålla sådant som ikoner, bilder och dialogrutor i ett standardformat som alla tillämpningar kan läsa. Datadelen innehåller mer tillämpningsspecifik information. Ett program har oftast en stor resursdel och liten eller ingen datadel, medan det motsatta förhållandet gäller för dokument. UNIX och PC-systemen har inte den här uppdelningen av filerna, så därför måste data- och resursfilen på något vis slås ihop till en när Macintoshfiler hanteras i dessa system. I den sammanslagna filen bakas också filinformationen in, som bland annat talar om för Macintoshen vilket program som kan öppna filen.

Den andra anledningen att koda filer är att vissa system utför automatisk översättning av speciella tecken när filer flyttas mellan dem. Olika specialtecken - som till exempel radbrytningar - lagras nämligen på olika sätt i olika datorer, och för att textdokument ska behålla sin form när de ses på en annan dator, så översätts de tecken som ser annorlunda ut. Detta fungerar ju gott och väl, när det verkligen är ett textdokument man skickar, men om det i stället är en programfil så kommer den här teckensubstitutionen att leda till att godtyckliga bitar i programkoden byts ut, och programmet kommer med största säkerhet inte att vara körbart när det kommer fram i andra änden. Det här problemet kan visserligen lösas genom att sätta överföringsmoden till "binary", det vill säga genom att tala om för UNIX-systemet att det inte är en textfil du för över. Men detta fungerar inte om du vill inkludera filen som en del av ett textmeddelande, till exempel i ett e-brev eller i ett inlägg till en nyhetsgrupp. Lösningen är då att koda om filen till ett teckenuppsättning där bara sådana tecken som är gemensamma för alla system används. Då kan du vara säker på att inga tecken översätts. Att koda filen på detta sätt är alltså att spela litet säkrare.

De två vanligaste kodsystemen för Macintosh är MacBinary (.bin) och BinHex (.hqx). MacBinary utför bara det första steget som beskrivits ovan och lämnar filen i binär form, medan BinHex går hela vägen och konverterar den till en textfil. BinHex är alltså litet säkrare, på så sätt att det inte gör någonting om filen skulle "råka" överföras som text av misstag. En MacBinary-fil kommer att korrumperas om den överförs som text. Eftersom BinHex har ett mindre antal tecken till sitt förfogande för att bygga upp filen, så måste systemet kompensera genom att göra filen längre. En BinHex-fil är alltså längre än motsvarande MacBinary-fil och tar längre tid att överföra. Universalprogrammet StuffIt Deluxe kan användas för att avkoda båda dessa filer.

Det existerar även andra, mindre vanliga kodningssystem, så som AppleSingle och UUEncode (.uu). Dessa bör man inte att använda för Macintoshprogram. Om du ändå skulle stöta på en fil kodat med något sådant system så går det alltid att hitta ett uppackningsprogram som shareware eller freeware. Sök bara något sökbart shareware-arkiv (till exempel http://www.shareware.com/) efter det kodsystem du behöver packa upp. Som vanligt kan StuffIt Deluxe ta hand om de flesta av dessa format.

Notera att om du vill överföra till exempel en JPEG-bild till en UNIX-WWW-server, så vill du inte att bilden ska kodas som en Macintoshfil. Om du Macintoshkodar filen, så kommer UNIX-servern inte att kunna läsa den, och bilden dyker inte upp på din web-sida. Om du överför en sådan fil med ett ftp-program skall du alltså ställa in överföringsformatet till "Raw Binary".

Om du har en direktuppkoppling till en UNIX-server via ett AppleTalk nätverk så kan det hända att filerna automatiskt kodas då du kopierar dem till UNIX-datorn. Detta innebär att en bild som du bara drar över till UNIX-servern inte kommer att synas på din web-sida. För att förhindra att filen kodas måste du i detta fall se till att filen inte har någon resursdel (då behövs ju ingen kodning). Detta gör du genom att använda dig av ett program som automatiskt zappar bort resursdelen från de bilder du vill föra över till UNIX-systemet, till exempel freeware-programmet ForkZapper.

Komprimering
Att komprimera en fil är någonting annat än att koda den. Komprimering innebär att man utnyttjar det faktum att de flesta filer följer vissa mönster för att minska deras minnesutrymme. En textfil kan till exempel innehålla ordet "och" många gånger, men tecknet "#" mycket sällan. En enkel komprimeringsalgoritm skulle då vara att ersätta alla "och" med "#" och alla "#" med "och". Eftersom det finns många fler "och" än "#" och eftersom dessa tre tecken ersätts med ett, så kommer den nya filen att behöva mindre lagringsutrymme. I de flesta fall så blir den komprimerade filen 40-50 % mindre än originalfilen, men komprimeringsgraden kan variera från fil till fil.

De två vanligaste komprimeringsprogrammen för Macintosh är StuffIt (.sit) och CompactPro (.cpt). StuffIt är det mer använda och har fler konverteringsmöjligheter. CompactPro har dock fördelen att arkivet direkt kan lagras på en uppsättning disketter. Med StuffIt måste arkivet först lagras på hårddisken och sedan segmenteras, det vill säga huggas upp i lagom stora bitar som får plats på disketter. StuffIt kan packa upp vanliga CompactPro arkiv, men inte segmenterade sådana.

Ett annat vanligt format är ".sea" vilket betyder "Self Extracting Archive". I detta fall har ett litet uppackningsprogram adderats till filen, så att den packar upp sig själv när man dubbelklickar den. Detta gör att användaren kan packa upp filen även om hon inte har uppackningsprogrammet som filen skapades med. ".sea" kan vara ett lämpligt format när du skall skicka filer till kompisar, men använd inte ".sea" för filer som du laddar upp på databaser eller nätverk. Den lilla självuppackaren gör nämligen att filen tar upp litet mer plats än nödvändigt, och om alla filer hade sådana små självuppackare så skulle det bli åtskilliga gigabyte som gick till spillo på de stora filservrarna.

StuffIt Deluxe kan även hantera format som härrör från andra datormärken än Macintosh, till exempel zip, tar och arc. Det finns också speciella shareware-program som tar hand om dessa filtyper.

En annan form av komprimering är de program som komprimerar och packar upp filer automatiskt i bakgrunden. En del av dessa program håller reda på hur ofta du använder de olika filerna på hårddisken och komprimerar sedan de som inte används så ofta. På så sätt sparas utrymme på hårddisken utan att du behöver bekymra dig om vilka filer du skall komprimera. Andra program komprimerar precis allting på hårddisken. StuffIt har en modul för automatisk komprimering och ett annat populärt program för detta heter DiskDoubler. De filformat som används för automatisk komprimering är oftast specifika för komprimeringsprogrammet, och du behöver tillgång till det för att packa upp filerna. (De flesta firmor som tillverkar komprimeringsprogram distribuerar uppackare som freeware.)

En sista form av fillagring som det kan vara bra att känna till är "disk images" (.image). En disk image är ett sätt att lagra all information som finns på en diskett i en fil som kan sparas på en hårddisk, överföras med filöverföringsprogram, och så vidare. Speciella program tillåter dig att återskapa disketterna utifrån image-filen. Man kan fråga sig varför "disk images" över huvud taget behövs? Kan man inte bara kopiera programmen direkt till hårddisken istället för att ta omvägen över en disk image? Orsaken är att en del installationsprogram förutsätter att de ligger på en viss diskett och att de övriga installationsfilerna ligger på andra disketter med vissa bestämda namn. Om du bara kopierar alla filerna till hårddisken är det inte säkert att installationen fungerar som den ska.

Disk images är också det snabbaste sättet att göra många kopior av en diskett, vilket kan vara användbart om du vill distribuera filer på detta sätt.

Det finns ett freeware-program som heter ShrinkWrap som klarar av det mesta när det gäller att hantera image-filer. Du kan bland annat montera en image-fil på skrivbordet. Du drar helt enkelt image-filen på programsymbolen, varvid en diskettsymbol dyker upp på skrivbordet, precis som om du hade stoppat in filens diskett i datorn. Du kan sedan arbeta med den som du arbetar med en vanlig diskett. Det kan nämnas att det går mycket snabbare att installera ett program från monterade diskettfiler än att installera direkt från installationsdisketterna. [an error occurred while processing this directive]


Denna sida ändrades sist av handbok den 26/05 1996 12:37:47.
Last modified Sunday, 26-May-1996 12:37:47 CEST