Τι είναι ένα αρχείο ARC;
Το ARC είναι μια μορφή συμπίεσης και αρχειοθέτησης δεδομένων χωρίς απώλειες που αναπτύχθηκε από την System Enhancement Associates (SEA). Η μορφή αρχείου και η εφαρμογή που το δημιουργεί και οι δύο ονομάζονται ARC. Το ARC ήταν πολύ δημοφιλές στις πρώτες μέρες του BBS μέσω τηλεφώνου, καθώς συνδύαζε τις δυνατότητες συμπίεσης και αρχειοθέτησης πολλών αρχείων στο ίδιο αρχείο. Το ARC αντικαταστάθηκε αργότερα από το ZIP που προσέφερε καλύτερους λόγους συμπίεσης.
Η επέκταση αρχείου .arc χρησιμοποιείται από πολλούς άλλους άσχετους τύπους αρχείων αρχειοθέτησης, όπως η μορφή ARC που χρησιμοποιείται από το Internet Archive για την αποθήκευση πολλών πόρων ιστού, μια διαφορετική μορφή ARC που χρησιμοποιείται από το FreeArc archiver, μια διαφορετική μορφή που χρησιμοποιείται από τη Nintendo για πόρους κ.λπ. .
Σύντομο ιστορικό της μορφής αρχείου ARC
Το πρόγραμμα ARC γράφτηκε από τον Thom Henderson της System Enhancement Associates το 1985. Αυτό το πρόγραμμα ομαδοποιούσε τα αρχεία σε ένα ενιαίο αρχείο αρχειοθέτησης και τα συμπίεσε επίσης. Τα αρχεία που δημιουργήθηκαν από το πρόγραμμα ARC χρησιμοποιούσαν την επέκταση .arc. Η SEA κυκλοφόρησε τον πηγαίο κώδικα για το ARC το 1986 και το ARC μεταφέρθηκε στο Unix και στο Atari ST από τον Howard Chu το 1987.
Ο Phil Katz ανέπτυξε τα PKARC και PKXARC για αρχειοθέτηση και εξαγωγή αρχείων. Τα αρχεία λειτουργούσαν με τη μορφή αρχείου ARC και ήταν σημαντικά πιο γρήγορα. Σε αντίθεση με το ARC, ο Katz μοίρασε τις λειτουργίες συμπίεσης και αρχειοθέτησης μεταξύ δύο διαφορετικών αρχείων που μείωσαν την απαίτηση μνήμης για την εκτέλεση τους.
Μετά τη δίκη μεταξύ της SEA και της Katz, η SEA αποσύρθηκε από την αγορά shareware και ανέπτυξε το ARC+Plus με διεπαφή χρήστη πλήρους οθόνης. Η μορφή ARC δεν είναι πλέον κοινή στον υπολογιστή.
Μορφή αρχείου ARC
Το αρχείο ARC αποτελείται από μια ακολουθία κεφαλίδας και αρχείου που ακολουθείται από τον δείκτη τέλους αρχειοθέτησης όπως φαίνεται παρακάτω.
file header 1
file 1
file header 2
file 2
.
.
file header n
file n
EOF
Κεφαλίδα αρχείου ARC
Μετατόπιση | Ετικέτα | Τύπος | Τιμή | Περιγραφή |
---|---|---|---|---|
00 | ARCID | DB | $1A | |
01 | ARCMTD | DB | 00 | Μέθοδος |
02 | ARCFNT | DS | 12 | όνομα αρχείου |
0E | DB | 00 | ||
0F | ARCNSZ | HEX | 00000000 | Συμπιεσμένο μέγεθος |
13 | ARCDAT | DW | 0000 | Ημερομηνία αρχείου (MSDOS) |
15 | ARCTIM | DW | 0000 | Χρόνος αρχείου (MSDOS) |
17 | ARCCRC | DW | 0000 | |
19 | ARCOSZ | HEX | 00000000 | Ασυμπίεστο μέγεθος |
1D | ARCFIL | DS | ARCNSZ |
Μέθοδοι συμπίεσης
Το byte της μεθόδου συμπίεσης υποδεικνύει τη μέθοδο συμπίεσης που χρησιμοποιείται. Ακολουθούν οι μέθοδοι συμπίεσης που χρησιμοποιούνται για το αρχείο ARC.
Μέθοδος | Όνομα | Περιγραφή |
---|---|---|
0 | Αποθηκευμένο | Δεν χρησιμοποιείται συμπίεση |
1 | Συσκευασμένα | Επαναλαμβανόμενη κωδικοποίηση μήκους λειτουργίας (RLE) |
2 | Στιγμένο | Κωδικοποίηση Huffman |
3 | Crunched | LZW με buffer 4K, κωδικούς 12 bit |
4 | Τριγμένο | Πρώτο packing, μετά LZW 4K buffer με 12 bit |
5 | Συσκευασμένα | Συσκευασία, LZW, buffer 4K, μεταβλητό μήκος (9-12 bit) |
6 | Συμμωγμένο | LZW, buffer 8K, μεταβλητό μήκος (9-13 bit) |
7 | Συσκευασία | Συσκευασία, μετά LZW 8K buffer, 2-13 bit (PAK 1.0) |
8 | Απόσταγμα | Dynamic Huffman με buffer 8K (PAK 2.0) |