20-10-2023
LZX — это название алгоритма сжатия данных из семейства LZ77. Также это название одноимённого файлового архиватора. Оба они были созданы Джонатаном Форбсом и Томи Поутаненом.
LZX был публично представлен в качестве файлового архиватора для Amiga в 1995 году, пока авторы обучались в Университете Ватерлоо в Канаде. Как и большинство архиваторов того времени, программное обеспечение было условно-бесплатным. Зарегистрированная версия содержала исправления и улучшения, недоступные в пробных версиях. В 1997 году авторы опубликовали бесплатный ключевой файл и прекратили работу над проектом.
В 1997 году Форбс пришел работать в Microsoft, после чего архиватор Cabinet (.cab) был улучшен путем добавления поддержки метода сжатия LZX. Улучшения включали в себя переменный размер скользящего окна (в Amiga LZX он был ограничен 64-мя килобайтами, в Microsoft LZX варьировался от 32-х до 2048-ми килобайт по степеням числа 2). Также был добавлен специальный препроцессор для определения CALL-инструкций процессоров Intel 80x86, преобразующий их операнды из относительной адресации в абсолютную, таким образом архиватор мог выявить обращения к одинаковым позициям в повторяющихся строках, тем самым улучшая сжатие бинарного кода 80x86.
Когда Microsoft выпустила формат сжатых HTML-файлов контекстной справки, выпущенный в 1997 году в качестве замены классического формата WinHelp, она решила сжимать все данные в HTML с помощью алгоритма LZX. Тем не менее, для повышения скорости доступа к случайным участкам архиватор был изменён таким образом, чтобы сбрасывать себя через каждый 64-килобайтный интервал и повторно выравнивать к 16-битной границе после каждого 32-килобайтного интервала. Поэтому HTMLHelp может мгновенно осуществлять поиск в ближайшем 64-килобайтном интервале и осуществлять декодирование; это лучше, чем декодирование от начала потока данных.
LIT-файлы Microsoft для Microsoft Reader — это просто надстройка CHM-формата, в них также используется LZX-сжатие.
Windows Imaging Format — файл-ориентированный формат образа диска, разработанный компанией Microsoft для развертывания последних релизов операционных систем семейства Windows — Windows Vista и Windows Server 2008, LZX в нём используется в качестве одного из методов сжатия.[1]
Программа unlzx служит для распаковки архивов Amiga LZX.[2]
Для распаковки CAB-файлов с LZX-сжатием применяется cabextract.[3]
Также существует множество кросс-платформенных инструментов для распаковки CHM-файлов (см.: HTMLHelp, en:Microsoft Compiled HTML Help, en:xCHM).
LIT-файлы можно распаковать программой Convert LIT.[4]
Архиваторы и компрессоры (сравнение) | |
---|---|
Открытые и свободные |
7-Zip • Ark • File Roller • FreeArc • Info-ZIP • KGB Archiver • PeaZip • The Unarchiver |
Бесплатные | |
Коммерческие |
ALZip • Archive Utility • MacBinary • PowerArchiver • Squeez • StuffIt • WinAce • WinRAR • WinZip |
Командная строка |
Форматы архивов | |
---|---|
Только архивирование | |
Только сжатие | |
Архивирование и сжатие | |
Упаковка и распространение ПО |
LZX.