LZX

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

LZX — это название алгоритма сжатия данных из семейства LZ77. Также это название одноимённого файлового архиватора. Оба они были созданы Джонатаном Форбсом и Томи Поутаненом.

Примеры использования алгоритма LZX[править | править вики-текст]

Amiga LZX[править | править вики-текст]

LZX был публично представлен в качестве файлового архиватора для Amiga в 1995 году, пока авторы обучались в Университете Ватерлоо в Канаде. Как и большинство архиваторов того времени, программное обеспечение было условно-бесплатным. Зарегистрированная версия содержала исправления и улучшения, недоступные в пробных версиях. В 1997 году авторы опубликовали бесплатный ключевой файл и прекратили работу над проектом.

Cabinet-файлы Microsoft[править | править вики-текст]

В 1997 году Форбс пришел работать в Microsoft, после чего архиватор Cabinet (.cab) был улучшен путем добавления поддержки метода сжатия LZX. Улучшения включали в себя переменный размер скользящего окна (в Amiga LZX он был ограничен 64-мя килобайтами, в Microsoft LZX варьировался от 32-х до 2048-ми килобайт по степеням числа 2). Также был добавлен специальный препроцессор для определения CALL-инструкций процессоров Intel 80x86, преобразующий их операнды из относительной адресации в абсолютную, таким образом архиватор мог выявить обращения к одинаковым позициям в повторяющихся строках, тем самым улучшая сжатие бинарного кода 80x86.

CHM-файлы Microsoft[править | править вики-текст]

Когда Microsoft выпустила формат сжатых HTML-файлов контекстной справки, выпущенный в 1997 году в качестве замены классического формата 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]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]