LZX
LZX — это название алгоритма сжатия данных из семейства LZ77, а также одноимённого файлового архиватора. Оба они были созданы Джонатаном Форбсом и Томи Поутаненом.
Примеры использования алгоритма LZXПравить
Amiga LZXПравить
LZX был публично представлен в качестве файлового архиватора для Amiga в 1995 году, пока авторы обучались в Университете Ватерлоо в Канаде. Как и большинство архиваторов того времени, программное обеспечение было условно-бесплатным. Зарегистрированная версия содержала исправления и улучшения, недоступные в пробных версиях. В 1997 году авторы опубликовали бесплатный ключевой файл и прекратили работу над проектом. Архиватор LZX стал стандартом де-факто на платформе Amiga (наравне с LHA), именно этим архиватором заархивировано большинство пакетов ПО в репозиториях.
Cabinet-файлы MicrosoftПравить
В 1997 году Форбс пришел работать в Microsoft, после чего архиватор Cabinet (.cab) был улучшен путём добавления поддержки метода сжатия LZX. Улучшения включали в себя переменный размер скользящего окна (в Amiga LZX он был ограничен 64 килобайтами, в Microsoft LZX варьировался от 32 до 2048 КБ – по степеням числа 2). Также был добавлен специальный препроцессор для определения CALL-инструкций процессоров Intel 80x86, преобразующий их операнды из относительной адресации в абсолютную, таким образом, архиватор мог выявить обращения к одинаковым позициям в повторяющихся строках, тем самым улучшая сжатие бинарного кода 80x86.
CHM-файлы MicrosoftПравить
Когда Microsoft выпустила в 1997 году формат сжатых HTML-файлов контекстной справки в качестве замены классического формата WinHelp, она решила сжимать все данные в HTML с помощью алгоритма LZX. Тем не менее, для повышения скорости доступа к случайным участкам архиватор был изменён таким образом, чтобы сбрасывать себя через каждый 64-килобайтный интервал и повторно выравнивать к 16-битной границе после каждого 32-килобайтного интервала. Поэтому HTMLHelp может мгновенно выполнять поиск и декодирование в ближайшем 64-килобайтном интервале, что лучше, чем декодирование от начала потока данных.
Файлы Microsoft Reader (LIT)Править
LIT-файлы Microsoft для Microsoft Reader — это просто надстройка CHM-формата, в них также используется LZX-сжатие.
Файлы Windows Imaging (WIM)Править
Windows Imaging Format — файл-ориентированный формат образа диска, разработанный компанией Microsoft для развертывания последних релизов операционных систем семейства Windows — Windows Vista и Windows Server 2008, LZX в нём используется в качестве одного из методов сжатия.[1]
Распаковка файлов с LZX-сжатиемПравить
Программа unlzx служит для распаковки архивов Amiga LZX.[2]
Для распаковки CAB-файлов с LZX-сжатием применяется cabextract.[3]
Также существует множество кросс-платформенных инструментов для распаковки CHM-файлов (см. HTMLHelp, en:Microsoft Compiled HTML Help, en:xCHM).
LIT-файлы можно распаковать программой Convert LIT.[4]