Jump to content

LHA (формат файла)

ЛХА
Другие имена LHarc, LHx, LH
Оригинальный автор(ы) Харуясу Ёсидзаки
Стабильная версия
2.13 / 20 июля 1991 г .; 32 года назад ( 1991-07-20 )
Предварительный выпуск
2.55б / 24 ноября 1992 г .; 31 год назад ( 1992-11-24 )
Написано в Язык ассемблера , Си
Операционная система ПРИНАДЛЕЖАЩИЙ
Преемник LHA32
Лицензия Разрешительная лицензия
Веб-сайт https://www.vector.co.jp/vpack/browse/person/an000224.html
ЛЖ
Расширение имени файла
.лж, .лха
Тип интернет-СМИ
приложение/x-lzh-сжатое
Введите код " LHA␣(LHA-SPACE)
Единый идентификатор типа (UTI) public.archive.lha
Разработано Харуясу Ёсидзаки ( Йоши )
Тип формата Сжатие данных
Расширено с ЛАрк

LHA или LZH — это бесплатная утилита сжатия и связанный с ней формат файлов. Он был создан в 1988 году Харуясу Ёсидзаки ( 吉崎栄泰 , Ёсидзаки Харуясу ) , врачом, и первоначально назывался LHarc . Полная переработка LHarc, предварительно названная LHx , в конечном итоге была выпущена как LH . Затем он был переименован в LHA , чтобы избежать конфликта с новой на тот момент MS-DOS 5.0. Команда LH («высокая нагрузка»). Оригинальный LHA и его порт для Windows , LHA32, больше не разрабатываются, поскольку Ёсидзаки занят на работе. [1]

Хотя LHA больше не используется на Западе, он оставался популярным в Японии до 2000-х годов. [2] Он использовался id Software для сжатия установочных файлов своих более ранних игр, включая Doom и Quake . Поскольку некоторые версии LHA распространялись с исходным кодом по разрешительной лицензии , LHA был портирован на многие операционные системы и до сих пор является основным форматом архивирования, используемым на компьютере Amiga он конкурировал с LZX , хотя в середине 1990-х годов . Это произошло благодаря Aminet , крупнейшему в мире архиву программного обеспечения и файлов, связанных с Amiga, стандартизации реализации LHA Стефана Боберга для Amiga.

Microsoft выпустила надстройку Microsoft Compressed (LZH) Folder, разработанную для японской версии Windows XP . [3] Японская версия Windows 7 поставляется со встроенной надстройкой папки LZH. [4] Пользователи неяпонских версий Windows 7 Enterprise и Ultimate также могут установить надстройку папки LZH, установив дополнительный пакет японского языка из Центра обновления Windows .

Методы сжатия [ править ]

В архиве LZH метод сжатия хранится в виде пятибайтовой текстовой строки, например -lz1- . Это байты с третьего по седьмой файла.

Канонический ЛЖ [ править ]

LHarc сжимает файлы с использованием алгоритма из более раннего продукта LZHUF Йошизаки, который был модифицирован на основе LZARI, разработанного Харухико Окумурой ( 奥村晴彦 , Окумура Харухико ) , но используется кодирование Хаффмана вместо арифметического кодирования . LZARI использует Лемпеля-Зива-Сторера-Шиманского с арифметическим кодированием.

лх0
К исходным данным не применяется метод сжатия.
лх1
Этот метод представлен в LHarc версии 1.
Он поддерживает размером 4 КиБ скользящее окно и максимум 60 байтов соответствующей длины. Используется динамическое кодирование Хаффмана.
лх2
вариант lh1. Этот метод поддерживает скользящее окно размером 8 КиБ с поддержкой максимальной длины 256 байт. Используется динамическое кодирование Хаффмана.
лх3
Вариант lh2 со Статическим Хаффманом.
lh4, lh5, lh6, lh7
Методы 4, 5, 6, 7 поддерживают скользящее окно размером 4, 8, 32, 64 КиБ соответственно, с поддержкой максимум 256 байтов соответствующей длины. Используется статическое кодирование Хаффмана. lh5 впервые представлен в LHarc 2, за ним следует lh6 в LHA 2.66 (MSDOS), lh7 в бета-версии LHA 2.67 (MSDOS). Сам LHA никогда не сжимается в lh4.
лру
Технически это не метод сжатия, но он используется в архиве .LZH для обозначения того, что сжатый объект представляет собой пустой каталог.

Расширения Джо Джареда [ править ]

Джо Джаред расширил LZSS, чтобы использовать словари большего размера.

lh8, lh9, lha, lhb, lhc, lhe
Размеры словаря (скользящего окна) составляют 64, 128, 256, 512, 1024, 2048 КиБ соответственно.

Джаред портировал LZH на Atari. Тот факт, что lh8 совпадает с lh7, был упущением. Файлы, использующие методы с большими номерами, могут также не существовать, поскольку Джаред считает их только запланированными функциями. [5]

Расширения UNLHA32 [ править ]

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

лхх
Он использует словарь размером 128–256 КиБ.

Расширения PMarc [ править ]

Эти методы сжатия созданы PMarc, архиватором CP/M, созданным Miyo. Архив обычно имеет расширение .PMA.

ПК1
Сжатый исполняемый архив PopCom. Подробности неизвестны.
pm0
К исходным данным не применяется метод сжатия.
pm1
Скользящее окно, 8 КБ, статический Хаффман. Редко генерируется, декомпрессор подвергается обратному проектированию. [6]
pm2
Вариант lh5, раздвижное окно 4K.
вечера
Используется для обозначения самораспаковывающегося архива PMarc. Следует пропустить, чтобы раскрыть реальный формат.

Расширения LArc [ править ]

LArc использует тот же формат файлов, что и .LZH, но был написан Кадзухико Мики, Харухико Окумура и Кеном Масуямой, с расширением «.LZS». [7] Программа вроде бы предшествовала LZH. Он использует двоичное дерево поиска при сопоставлении LZ. [8]

лзс
Он поддерживает скользящее окно размером 2 КиБ и максимум 17 байтов соответствующей длины.
лз2
Он похож на lzs, за исключением того, что можно изменить размер словаря и длину совпадения.
лз3
Неизвестный.
лз4
К исходным данным не применяется метод сжатия.
лз5
Он поддерживает скользящее окно размером 4 КиБ и максимум 17 байтов соответствующей длины.
лз7
лз8
Неизвестный.

Общие реализации, по-видимому, поддерживают только lzs, lz5, а также lz4, предназначенный только для хранения.

Проблемы [ править ]

LHICE/ICE [ править ]

Существуют копии LHICE с пометкой версии 1.14. По словам Окумура, LHICE написан не Ёсидзаки. [9]

Ошибка Y2K11 [ править ]

Из-за ошибки метки времени DOS из заголовков уровня 0 и 1 после 2011 года будут установлены на 1980 год, а это означает, что некоторые утилиты необходимо исправить. Это вызвано ошибкой, которая интерпретирует беззнаковое 7-битное битовое поле номера года как 5-битное число. Вместо этого максимальный год должен быть 2107. [10] [11]

Вместо этого новые заголовки уровней 2 и 3 используют 32-битное время Unix . Он страдает от проблемы 2038 года . [12]

Размер заголовка [ править ]

По словам Микко, автора популярной библиотеки LHA UNLHA32.DLL, многие реализации LHA не проверяют длину заголовков файлов LHA при чтении архива. В этом сценарии могут возникнуть две проблемы: может произойти переполнение буфера для простых реализаций, предполагающих максимальный размер 4 КБ из исходной спецификации; антивирусное программное обеспечение может пропускать файлы с такими большими заголовками и не сканировать их на наличие вирусов. Аналогичная проблема существует и с ARJ . Micco сообщила об этой проблеме японским властям, но они не считают ее серьезной уязвимостью. [13]

Микко зашел так далеко, что завершил разработку UNLHA32 и посоветовал людям отказаться от этого формата. Тем не менее, они вернулись в 2017 году, чтобы исправить проблему с захватом DLL .

См. также [ править ]

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

  1. ^ «Мир LHA доктора Харуясу Ёсидзаки» . 28 апреля 1999 г. Архивировано из оригинала 28 апреля 1999 г. Проверено 12 января 2021 г.
  2. ^ Ёсидзава, Токуши (7 июня 2010 г.) «Разработка LZH остановлена ​​- автор предупреждает компании не использовать его» . CNET Japan (на японском языке) . Проверено 12 января 2021 г. .
  3. ^ «Дополнение к сжатой папке Microsoft (LZH)» . Майкрософт . Архивировано из оригинала 19 августа 2007 г. Проверено 5 октября 2007 г.
  4. ^ «Невозможно установить папку надстройки (сжатие Microsoft to LZH) в Windows 7» . 17 июля 2016 Проверено г. .
  5. ^ Джаред (1998). lzhformat.html
  6. ^ «фраглет/лхаса» . Гитхаб . 7 июля 2022 г.
  7. ^ » | Руководство по программному обеспечению для сжатия/распаковки» . «Расширение сжатых данных « .LZS Проверено 17 июля 2016 г. .
  8. ^ «Алгоритмы сжатия данных LARC и LHarc» . GameDev.net .
  9. ^ «История сжатия данных в Японии» . Oku.edu.mie-u.ac.jp . Проверено 12 июля 2016 г.
  10. ^ «Аминет — util/arc/lha138pch.lha» . Аминет.нет . Проверено 12 июля 2016 г.
  11. ^ «Аминет — util/arc/lha_68k.lha» . Аминет.нет . Проверено 12 июля 2016 г.
  12. ^ Примечания к формату LHA Nifty, другие форматы данных.
  13. ^ архива LZH (редакция 2010 г.)» micco.mars.jp «Об уязвимости в обработке заголовков .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fa37e6206df6b6498dd4bbba8a3d2925__1717769640
URL1:https://arc.ask3.ru/arc/aa/fa/25/fa37e6206df6b6498dd4bbba8a3d2925.html
Заголовок, (Title) документа по адресу, URL1:
LHA (file format) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)