Що таке файл LZMA?
Файл із розширенням .lzma — це стиснений архівний файл, створений за допомогою методу стиснення LZMA (алгоритм ланцюга Лемпеля-Зіва-Маркова). Вони в основному зустрічаються/використовуються в операційній системі Unix і подібні до інших алгоритмів стиснення, таких як ZIP для мінімізації розміру файлу. LZMA — це застарілий формат файлу, який зараз або був замінений форматом .xz. Тип MIME формату .lzma – `application/x-lzma’. Цей формат файлу розроблено Ігорем Павловим для використання в LZMA SDK.
Формат файлу LZMA
Файл LZMA складається з двох основних частин:
- Заголовок
- Стислі дані
Заголовок LZMA
Файли LZMA мають 13-байтовий заголовок, за яким слідують стислі дані LZMA. Заголовок LZMA складається з:
- Властивості
- Розмір словника
- Нестиснутий розмір
Властивості заголовка LZMA
Поле «Властивості» містить три властивості. У круглих дужках наведено скорочення, а потім діапазон значень властивості. Поле складається з
- кількість бітів контексту літералу (lc, [0, 8]);
- кількість літеральних бітів позиції (lp, [0, 4]); і
- кількість бітів позиції (pb, [0, 4]).
Розмір словника LZMA
Це зберігається як 32-розрядне ціле число без знаку з порядковим порядком байтів зі значеннями в діапазоні від 2^n до 2^n + 2^(n-1). LZMA Utils може розпакувати файли з будь-яким розміром словника.
Нестиснутий розмір
Нестиснутий розмір зберігається як 64-розрядне ціле число без знаку. Спеціальне значення 0xFFFF_FFFF_FFFF_FFFF вказує на те, що нестиснутий розмір невідомий. Значення представлено маркером кінця корисного навантаження (*), якщо і тільки якщо нестиснутий розмір невідомий.