LHA

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

История[править | править исходный текст]

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

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

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

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

Методы компрессии[править | править исходный текст]

В архиве 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[править | править исходный текст]

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, но был написан Kazuhiko Miki, Haruhiko Okumura и Ken Masuyama. Расширение файлов — .LZS.[3]

-lzs-[править | править исходный текст]

Поддерживает 2Кб скользящее окно, с поддержкой максимум 17 байт достигаемой длины.

-lz2-[править | править исходный текст]

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

Примечания[править | править исходный текст]

Ссылки[править | править исходный текст]