Interested Article - LHA

LHA бесплатный архиватор и соответствующий формат архивирования файлов (имеющих расширение имени .LZH ). Как и прародитель, разрабатывался для архивирования текстовых файлов. Является основным архиватором для операционных систем семейства AmigaOS и популярного архива бесплатного программного обеспечения AmiNET.

История

LHA был создан в 1988 году ( яп. 吉崎栄泰 Yoshizaki Haruyasu ) и изначально назывался LHarc. Полная переделка LHarc, названная LHx, была анонсирована как LH, но переименована в LHA во избежание конфликтов с появившейся в это время командой LH («load high») из MS-DOS 5.0.

Хотя на Западе LHA в настоящее время практически не используется, он остаётся популярным в Японии . Использовался id Software для сжатия установочных файлов ранних компьютерных игр , таких как Doom и Quake .

LHA портировался под многие операционные системы и является основным форматом сжатия для компьютеров Amiga . — крупнейший мировой архив программ и файлов для Amiga, использует реализацию LHA для Amiga, созданную .

Корпорация Microsoft выпустила дополнение для Windows XP и Windows Server 2003 для работы с файлами, сжатыми с помощью LHA. В результате можно работать с LHA-архивами прямо из Проводника Windows . Были выпущены соответствующие расширения для японской версии Windows.

Методы компрессии

В архиве LHA информация о методе сжатия представлена в виде 5- байтовой текстовой строки, что является редкостью для архиваторов.

Канонический LZH

LHarc сжимает файлы, используя алгоритм LZHUF — раннего продукта , который был модифицирован из LZARI, разработанного ( англ. Haruhiko Okumura ), но использует алгоритм Хаффмана вместо арифметического кодирования . LZARI использует алгоритм сжатия LZSS с арифметическим кодированием.

-lh0-

Исходные данные не сжимаются.

-lh1-

Этот метод представлен в первой версии LHarc.

Поддерживает 4 КБ , с поддержкой длины совпадения до 60 байтов. Используется алгоритм Хаффмана.

-lh4-, -lh5-, -lh6, -lh7-

Методы 4, 5, 6, 7 поддерживают скользящее окно, соответственно размером 4, 8, 32, 64 КБ, с поддержкой длины совпадения до 256 байтов. Используется статический алгоритм Хаффмана. lh5 был впервые представлен в LHarc 2; за ним последовал lh6 в LHA 2.66 и lh7 в LHA 2.67 beta. Сам LHA никогда не сжимает в lh4.

-lhd-

Технически не является методом сжатия, но используется в архивах .LZH для индикации того, что объект архива является пустым каталогом.

Расширения Joe Jared

расширил LZSS для работы с более крупными словарями.

-lh8-, -lh9-, -lha-, -lhb-, -lhc-, -lhe-

Размеры словарей составляют соответственно 64, 128, 256, 512, 1024, 2048 КБ.

Расширения UNLHA32

UNLHA32.DLL использует собственные методы для тестирования.

-lhx-

Использует 128—256 КБ словарь.

Расширение PMarc

Метод разработан PMarc, архиватором для CP/M , созданным Miyo. обычно используется расширение .PMA .

-pm0-

-pm2-

LArc

LArc использует те же форматы файлов, что и в .LZH, но был написан , Haruhiko Okumura и . Расширение файлов — .LZS .

-lzs-

Поддерживает 2 КБ , с поддержкой длины совпадения до 17 байтов.

-lz2-

То же, что -lzs-, но могут меняться размер словаря и максимальная длина совпадения.

Примечания

  1. от 19 августа 2007 на Wayback Machine .
  2. от 15 марта 2008 на Wayback Machine .
  3. от 6 мая 2008 на Wayback Machine .

Ссылки

  • (рус.)
  • (англ.)
  • (англ.) — документация по LHA.
  • (англ.) — библиотека LHA для Java
    • (англ.)
  • (яп.)
  • (англ.)
Источник —

Same as LHA