Hvad er en ARC fil?
ARC er et tabsfrit datakomprimerings- og arkivformat udviklet af System Enhancement Associates (SEA). Filformatet og programmet, der opretter det, kaldes begge ARC. ARC var meget populær i de tidlige dage af dial-up BBS, da den kombinerede funktionerne ved komprimering og arkivering af flere filer i den samme fil. ARC blev senere erstattet af ZIP, der tilbød bedre kompressionsforhold.
.arc filtypenavnet bruges af flere andre ikke-relaterede arkivfiltyper såsom ARC-formatet, der bruges af Internet Archive til at gemme flere webressourcer, et andet ARC-format, der bruges af FreeArc archiver, et andet format, der bruges af Nintendo til ressourcer osv. .
Kort historie om ARC-filformat
The ARC program was written by Thom Henderson of System Enhancement Associates in 1985. Dette program grupperede filer i en enkelt arkivfil og komprimerede dem også. Filerne genereret af ARC-programmet brugte filtypenavnet .arc. SEA udgav kildekoden til ARC i 1986, og ARC blev overført til Unix og Atari ST af Howard Chu i 1987.
Phil Katz udviklede PKARC og PKXARC til arkivering og udpakning af filer. Filerne fungerede med ARC-filformatet og var betydeligt hurtigere. I modsætning til ARC opdelte Katz komprimerings- og arkiveringsfunktionerne mellem to forskellige filer, hvilket reducerede hukommelseskravet til at køre dem.
Efter retssagen mellem SEA og Katz trak SEA sig tilbage fra shareware-markedet og udviklede ARC+Plus med en fuldskærms brugergrænseflade. ARC-formatet er ikke almindeligt på pc længere.
ARC filformat
ARC-filen består af en sekvens af filoverskrift og fil efterfulgt af slutningen af arkivmarkøren som vist nedenfor.
file header 1 file 1 file header 2 file 2 . . file header n file n EOF ARC-filoverskrift
| Offset | Etiket | Type | Værdi | Beskrivelse |
|---|---|---|---|---|
| 00 | ARCID | DB | $1A | |
| 01 | ARCMTD | DB | 00 | Metode |
| 02 | ARCFNT | DS | 12 | filnavn |
| 0E | DB | 00 | ||
| 0F | ARCNSZ | HEX | 00000000 | Komprimeret størrelse |
| 13 | ARCDAT | DW | 0000 | Fildato (MSDOS) |
| 15 | ARCTIM | DW | 0000 | Filtid (MSDOS) |
| 17 | ARCCRC | DW | 0000 | |
| 19 | ARCOSZ | HEX | 00000000 | Ukomprimeret størrelse |
| 1D | ARCFIL | DS | ARCNSZ |
Komprimeringsmetoder
Kompressionsmetode-byten angiver den anvendte komprimeringsmetode. Følgende er de komprimeringsmetoder, der bruges til ARC-filen.
| Metode | Navn | Beskrivelse |
|---|---|---|
| 0 | Lagret | Ingen komprimering brugt |
| 1 | Packed | Repeated running length encoding (RLE) |
| 2 | Squeezed | Huffman-kodning |
| 3 | Crunched | LZW med 4K buffer, 12 bit koder |
| 4 | Crunched | Først pakning, derefter LZW 4K buffer med 12 bit |
| 5 | Crunched | Packning, LZW, 4K buffer, variabel længde (9-12 bit) |
| 6 | Squashed | LZW, 8K buffer, variabel længde (9-13 bit) |
| 7 | Knust | Packning, derefter LZW 8K buffer, 2-13 bit (PAK 1.0) |
| 8 | Destiller | Dynamisk Huffman med 8K buffer (PAK 2.0) |