LHA

LZH formátum
Fájlkiterjesztés.lzh, .lha
MIME-típusapplication/x-lzh-compressed
FejlesztőHaruyasu Yoshizaki (Yoshi)
Kiadás dátuma1988
Formátum típusaarchív, tömörített
Kiterjesztése ennekLHarc
Uniformpublic.archive.lha
LHA tömörítő
FejlesztőHaruyasu Yoshizaki (Yoshi)
Első kiadás1988
Legfrissebb stabil kiadás1.14i (Unix)
2.55e (MS-DOS)
2.15 (AmigaOS)
Operációs rendszerAmigaOS, MorphOS, AROS, MS-DOS, OS/2, Windows, Unix
Kategóriafájl tömörítő
LicencFreeware
A LHA weboldala

Az LHA vagy más néven LZH egy freeware tömörítő alkalmazás, illetve a hozzá tartozó fájlformátum, melyet eredetileg LHarc néven fejlesztett ki a japán Haruyasu Yoshizaki (吉崎栄泰; Hepburn: Yoshizaki Haruyasu?) 1988-ban. A LHarc hamar de facto "szabvánnyá" vált a japán BBS felhasználók körében.

Történet

1987-88 táján már létezett Japánban LZSS tömörítési algoritmust megvalósító program "LArc", majd "LZARI" címen, LZW algoritmust megvalósító pedig az "ARC", illetve a "PKARC" volt. Az orvosként dolgozó Yoshizaki hobby programozóként azon igyekezett, hogy a Haruhiko Okumura által kifejlesztett LZARI eljárást gyorsabbá tegye. Az LZARI algebrai tömörítési eljárását lecserélte Huffman-kódolásra ("LZHUF"), mely a tömörítési arányon alig változtatott, viszont jelentősen gyorsabbá tette a kódot. Az LZHUF-nak egy assemblyben, illetve C-ben teljesen újraírt változata először LHx, majd végül LH címen jelent meg 1991 januárjában, ez azonban megegyezett az ugyanez év júniusában kiadott MS-DOS 5.0 új LH ("LoadHigh") belső parancsával, így a tömörítőprogramot átnevezték LHA-ra elkerülendő a felesleges név-ütközéseket.

1992-től kezdődően, mind Okumura, mind pedig Yoshizaki egyre elfoglaltabbak lettek orvosi hivatásukban, így az LHA, illetve általában is tömörítési eljárások, algoritmusok fejlesztésével felhagytak. Az LHA32 nevű 32-bites Windows-átirat és a hozzá tartozó kitömörítő programkönyvtár, az UNLHA32.DLL próbaverzió szintjén maradt. Ugyanígy az MS-DOS (LHx for MSDOS) és a Unix változat (LHA for Unix) fejlesztése is megszakadt, a forráskód azonban szabadon felhasználható.

Adatformátum

Az LZH-formátumok bájtsorrendje little-endian (a legkisebb helyi érték legelől). Tömörítési módszerként a Lempel-Ziv-Storer-Szymanski (LZSS) algoritmust és a Huffman-kódolást alkalmazzák. Az LZH tömörítvényekben minden belefoglalt állományt (fájlt) egy fejléc előz meg, mely az adott fájlra mutató információkat tartalmaz. A fejlécek háromfélék lehetnek: level-0., level-1. és level-2. szintű. A 0. szinten a fejlécet rögtön a tömörített adatok követnek, míg az 1. és 2. szinten kiterjesztett fejlécek is vannak (pl. Unix felhasználói jogosultsági/fájlhozzáférési adatok).

Tömörítési módszerek

A fejléc "-lhx-" karaktersorozata jelzi az alkalmazott tömörítési algoritmus-változatot a következők szerint:

Kanonikus vagy standard LZH-módszerek
-lh0--lh1--lh2--lh3--lh4--lh5--lh6--lh7--lhd-
csúszó keresőablak hossza tömörítetlen4 KiB8 KiB8 KiB4 KiB8 KiB32 KiB64 KiBüres mappa/
könyvtár
max. szóhossz 60 byte256 byte256 byte256 byte256 byte256 byte256 byte
Huffman-kódolás dinamikusdinamikusstatikusstatikusstatikusstatikusstatikus

Hagyományos, illetve nem-kanonikus módszerek:

a LHarc parancssori paraméterei

Felhasználásai

Az LHA népszerű maradt Japánban a 2000-es évekig, azonban nyugaton nem használták tömegesen. Az id Software korai játékaiban, mint amilyen a Doom vagy a Quake alkalmazta az LHA tömörítési eljárást. Az Aminet máig de facto szabványként alkalmazza az LHA Stefan Boberg által megírt Amiga-portjának továbbfejlesztett változatát, habár az 1990-es évek közepén komoly kihívója volt az LZX tömörítő.

A nagy BIOS gyártók, mint például az AMI vagy az Award a BIOS firmware fájljainak tömörítésére LHA-algoritmust használnak módosított fejléccel, annak érdekében, hogy az EEPROM szűkös tárterületét a lehető legjobban kihasználják.

A Microsoft kiadta a Windows XP japán verziójához a Microsoft Compressed (LZH) Folder Add-ont. A Windows 7 japán verziójában az LZH addont a Windows Update-ről lehetett beszerezni a japán nyelvi csomag részeként, azonban csak Windows 7 Enterprise vagy Ultimate felhasználók számára.

Jegyzetek

  1. 1 2 3 4 5 6 7 "Haruyasu Yoshizaki". solvusoft.com (angol nyelven). Hozzáférés: 2023. január 16.
  2. 1 2 3 4 "Japanese *N*X LHA". aminet.net (angol nyelven). 2010. július 2. Hozzáférés: 2023. január 24.
  3. 1 2 "LhA archiver 2.55 for MS-DOS". aminet.net (angol nyelven). 1996. október 25. Hozzáférés: 2023. január 24.
  4. ↑ "Latest version of Amiga LhA". aminet.net (angol nyelven). 2011. január 3. Hozzáférés: 2023. január 24.
  5. 1 2 3 JapCompHist
  6. ↑ "LHA32". vector.co.jp (japán nyelven). Hozzáférés: 2023. január 29.
  7. ↑ "LHa for UNIX". solvusoft.com (angol nyelven). Hozzáférés: 2023. január 29.
  8. 1 2 3 4 "LZH format" (angol nyelven). Hozzáférés: 2023. február 1.
  9. ↑ 吉澤, 亨史 (2010. június 7.). "「LZH」の開発中止--企業などは使用しないよう作者が注意喚起". CNET Japan (japán nyelven). Hozzáférés: 2023. január 29.{{cite web}}: CS1 karbantartás: url-status (link)
  10. ↑ "What is a LZH file? Learn about LZH files here". bitzipper.com (angol nyelven). Hozzáférés: 2023. január 29.
  11. ↑ "Pinczakko's Guide to AMI BIOS Reverse Engineering" (angol nyelven). 2023. február 2. dátummal az eredeti címről archiválva. Hozzáférés: 2023. február 2.
  12. ↑ "Microsoft Compressed (LZH) Folder Add-on". microsoft.com. 2007. augusztus 19. dátummal az eredeti címről archiválva. Hozzáférés: 2007. október 5.
  13. ↑ "How to Open, Edit, and Convert LZH Files". lifewire.com (angol nyelven). Hozzáférés: 2023. január 29.

Források