Co je soubor LZMA?
Soubor s příponou .lzma je komprimovaný archivní soubor vytvořený metodou komprese LZMA (Lempel-Ziv-Markov chain Algorithm). Ty se nacházejí/používají hlavně v operačním systému Unix a jsou podobné jiným kompresním algoritmům, jako je ZIP pro minimalizaci velikosti souboru. LZMA je starší formát souboru, který je nebo byl nahrazen formátem .xz. Typ MIME formátu .lzma je `application/x-lzma’. Tento formát souboru navrhl Igor Pavlov pro použití v LZMA SDK.
Formát souboru LZMA
Soubor LZMA se skládá ze dvou hlavních částí:
- Záhlaví
- Komprimovaná data
Záhlaví LZMA
Soubory LZMA mají 13bajtové záhlaví, za kterým následují komprimovaná data LZMA. Hlavička LZMA se skládá z:
- Vlastnosti
- Velikost slovníku
- Nekomprimovaná velikost
Vlastnosti záhlaví LZMA
Pole Vlastnosti obsahuje tři vlastnosti. V závorce je uvedena zkratka a za ní rozsah hodnot vlastnosti. Pole se skládá z
- počet doslovných kontextových bitů (lc, [0, 8]);
- počet doslovných bitů pozice (lp, [0, 4]); a
- počet bitů pozice (pb, [0, 4]).
Velikost slovníku LZMA
To je uloženo jako 32bitové celé číslo typu little endian bez znaménka s hodnotami v rozsahu 2^n a 2^n + 2^(n-1). LZMA Utils může dekomprimovat soubory s libovolnou velikostí slovníku.
Nekomprimovaná velikost
Nekomprimovaná velikost je uložena jako 64bitové malé endian celé číslo bez znaménka. Speciální hodnota 0xFFFF_FFFF_FFFF_FFFF označuje, že nekomprimovaná velikost je neznámá. Hodnota je reprezentována značkou konce užitečného zatížení (*) tehdy a pouze tehdy, když je neznámá velikost nekomprimované.