aspose.info
RU

LZMA — формат сжатого файла LZMA

Обновлено

.LZMA вариант №

Файл с расширением .lzma представляет собой сжатый архивный файл, созданный с использованием метода сжатия LZMA (цепной алгоритм Лемпеля-Зива-Маркова). Они в основном встречаются/используются в операционной системе Unix и аналогичны другим алгоритмам сжатия, таким как ZIP для минимизации размера файла. LZMA — это устаревший формат файла, который заменяется или был заменен форматом .xz. Тип MIME формата .lzma — «application/x-lzma». Этот формат файла был разработан Игорем Павловым для использования в LZMA SDK.

Формат файла LZMA

Файл LZMA состоит из двух основных частей:

  1. Заголовок
  2. Сжатые данные

Заголовок LZMA

Файлы LZMA имеют 13-байтовый заголовок, за которым следуют сжатые данные LZMA. Заголовок LZMA состоит из:

  • Характеристики
  • Размер словаря
  • Размер без сжатия

Свойства заголовка LZMA

Поле «Свойства» содержит три свойства. В скобках указывается аббревиатура, за которой следует диапазон значений свойства. Поле состоит из

  1. количество литеральных битов контекста (lc, [0, 8]);
  2. количество битов буквальной позиции (lp, [0, 4]); а также
  3. количество позиционных битов (pb, [0, 4]).

Размер словаря LZMA

Это хранится как 32-битное целое число без знака с прямым порядком байтов со значениями в диапазоне от 2 ^ n до 2 ^ n + 2 ^ (n-1). LZMA Utils может распаковывать файлы с любым размером словаря.

Несжатый размер

Несжатый размер хранится как 64-битное целое число без знака с прямым порядком байтов. Специальное значение 0xFFFF_FFFF_FFFF_FFFF указывает, что несжатый размер неизвестен. Значение представлено маркером конца полезной нагрузки (*) тогда и только тогда, когда несжатый размер неизвестен.

использованная литература

См. также