Що таке файл ARC?
ARC — це формат стиснення даних і архівування без втрат, розроблений System Enhancement Associates (SEA). Формат файлу та програма, яка його створює, називаються ARC. ARC був дуже популярним на початку існування комутованого BBS, оскільки поєднував функції стиснення та архівування кількох файлів в одному файлі. Пізніше ARC було замінено ZIP, який запропонував кращі коефіцієнти стиснення.
Розширення файлу .arc використовується кількома іншими непов’язаними типами архівних файлів, як-от формат ARC, який використовується Internet Archive для зберігання кількох веб-ресурсів, інший формат ARC, який використовується архіватором FreeArc, інший формат, який використовується Nintendo для ресурсів тощо. .
Коротка історія формату файлів ARC
Програма ARC була написана Томом Хендерсоном з System Enhancement Associates у 1985 році. Ця програма групувала файли в один архівний файл і також стискала їх. Файли, згенеровані програмою ARC, використовували розширення .arc. SEA випустила вихідний код для ARC у 1986 році, а ARC був перенесений на Unix і Atari ST Говардом Чу в 1987 році.
Філ Кац розробив PKARC і PKXARC для архівування та розпакування файлів. Файли працювали у форматі ARC і були значно швидшими. На відміну від ARC, Katz розділив функції стиснення та архівування між двома різними файлами, що зменшило потребу в пам’яті для їх запуску.
Після судового процесу між SEA та Katz компанія SEA вийшла з ринку умовно-безкоштовних програм і розробила 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 |
Методи стиснення
Байт методу стиснення вказує на використаний метод стиснення. Нижче наведено методи стиснення, які використовуються для файлу ARC.
Метод | Найменування | Опис |
---|---|---|
0 | Зберігається | Стиснення не використовується |
1 | Упакований | Кодування повторюваної тривалості (RLE) |
2 | Стиснуте | кодування Хаффмана |
3 | Crunched | LZW з буфером 4K, 12-бітовими кодами |
4 | Crunched | Спочатку упаковка, потім буфер LZW 4K з 12 бітами |
5 | Crunched | Packing, LZW, буфер 4K, змінної довжини (9-12 біт) |
6 | Здавлений | LZW, буфер 8K, змінної довжини (9-13 біт) |
7 | Подрібнена | Упаковка, потім буфер LZW 8K, 2-13 біт (PAK 1.0) |
8 | Distil | Dynamic Huffman з буфером 8K (PAK 2.0) |