LHA

LZH formátum
Fájlkiterjesztés.lzh, .lha
MIME-típusapplication/x-lzh-compressed
FejlesztőHaruyasu Yoshizaki (Yoshi)[1]
Kiadás dátuma1988[1]
Formátum típusaarchív, tömörített
Kiterjesztése ennekLHarc
Uniformpublic.archive.lha
LHA tömörítő
FejlesztőHaruyasu Yoshizaki (Yoshi)[1]
Első kiadás1988[1]
Legfrissebb stabil kiadás1.14i (Unix)[2]
2.55e (MS-DOS)[3]
2.15 (AmigaOS)[4]
Operációs rendszerAmigaOS,[1][2] MorphOS, AROS, MS-DOS,[3] OS/2, Windows, Unix[1][2]
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.[1] A LHarc hamar de facto "szabvánnyá" vált a japán BBS felhasználók körében.[5]

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" néven, 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 néven 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.[5]

1992-től kezdődően, mind Okumura, mind pedig Yoshizaki egyre elfoglaltak lettek orvosi hivatásukban, így az LHA, illetve általában is tömörítési eljárások, algoritmusok fejlesztésével felhagytak.[5] 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.[6] 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ó.[2][7]

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).[8]

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:[8]

Kanonikus vagy standard LZH-módszerek[8]
-lh0- -lh1- -lh2- -lh3- -lh4- -lh5- -lh6- -lh7- -lhd-
csúszó keresőablak hossza tömörítetlen 4 KiB 8 KiB 8 KiB 4 KiB 8 KiB 32 KiB 64 KiB üres mappa/
könyvtár
max. szóhossz 60 byte 256 byte 256 byte 256 byte 256 byte 256 byte 256 byte
Huffman-kódolás dinamikus dinamikus statikus statikus statikus statikus statikus

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

a LHarc parancssori paraméterei
  • LArc-módszerek: -lzs-, -lz2-, -lz3-, -lz4-, -lz5-, -lz7-, -lz8-;
  • LHa (Joe Jared kiterjesztések): -lh8-, -lh9-, -lha-, -lhb-, -lhc-, -lhe-, -lhx-;
  • PMarc-módszerek: -pm0-, -pm1-, -pm2-, -pms-

Felhasználásai

Az LHA népszerű maradt Japánban a 2000-es évekig, azonban nyugaton nem használták tömegesen.[9] 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ő.[10]

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.[11]

A Microsoft kiadta a Windows XP japán verziójához Microsoft Compressed (LZH) Folder Add-ont.[12] 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.[13]

Jegyzetek

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

Források

  • JapCompHist: Haruhiko Okumura: History of Data Compression in Japan (angol nyelven). oku.edu.mie-u.ac.jp , 1998. március 17. (Hozzáférés: 2023. január 17.)
  • jLHA front-end (angol nyelven). SourceForge , 2014. július 13. (Hozzáférés: 2023. január 23.)
  • LHa for UNIX with Autoconf (angol nyelven). GitHub . (Hozzáférés: 2023. január 23.)
  • lhasa (angol nyelven). GitHub . (Hozzáférés: 2023. január 23.) nyílt forráskódú LHA kitömörítő (+UNLHA32, PMArc, LArc kiterjesztések)
  • The LZH Archive File Format (angol nyelven). fileformat.info . (Hozzáférés: 2023. január 23.) az LZH-fájl fejléc formátuma.
Sablon:Archív formátumok
  • m
  • v
  • sz
Archív formátumok
Csak archiválás
  • ar
  • cpio
  • shar
  • tar
  • LBR
  • BagIt
Csak tömörítés
Archiválás és tömörítés
  • 7z
  • ACE
  • ARC
  • ARJ
  • B1
  • Cabinet
  • cfs
  • cpt
  • DGCA
  • .dmg
  • .egg
  • kgb
  • LHA
  • LZX
  • MPQ
  • PEA
  • qda
  • RAR
  • rzip
  • sit
  • SQX
  • UDA
  • UHARC
  • Xar
  • zoo
  • Zip
Szoftvercsomagolás és terjesztés
Dokumentumcsomagolás és terjesztés
OEB Package Format
  • Non-article pageÖsszehasonlítás
  • List-Class articleLista
    • informatika Informatikai portál • összefoglaló, színes tartalomajánló lap