aspose.info
HU

LZ4 - LZ4 tömörített fájlformátum

Frissítve

Mi az LZ4 fájl?

Az .lz4 kiterjesztésű fájl az LZ4 tömörítést támogató alkalmazásokkal/segédprogramokkal létrehozott tömörített archív fájl. Az LZ4 algoritmus a sebesség és a tömörítési arány közötti kompromisszumra összpontosít. A tömörített LZ4 archívumok az LZ4 parancssori segédprogrammal hozhatók létre, és ugyanilyen módon kicsomagolhatók.

LZ4 fájlformátum

Az LZ4 tömörítési algoritmuson alapuló LZ4 fájlformátum független a CPU típusától, az operációs rendszertől, a fájlrendszertől és a karakterkészlettől. Alkalmas fájltömörítésre és streaming tömörítésre az LZ4 algoritmus használatával. Az LZ4 formátum kezdeti implementációját C nyelven Yann Collet hajtotta végre 2011-ben, és fejlesztői hivatkozásként elérhető a [Github] oldalon (https://github.com/lz4/lz4) .

LZ4 keretformátum

Az LZ4 fájlformátum általános felépítése az alábbiak szerint látható.

MagicNbF. LeíróBlokk(…)EndMarkC. Ellenőrző összeg
4 bájt3-15 bájt4 bájt0-4 bájt

Varázsszám

4 bájt, Little endian formátum. Érték: 0x184D2204

Keretleíró

A keretleíró 3 t0 15 bájtból áll, és a specifikációk legfontosabb része. A Magic_Number és Frame_Descriptor mezőket együtt LZ4 keretfejlécnek nevezik, mérete pedig 7 és 19 bájt között változik. Ez az alábbiak szerint történik.

FLGBD(Tartalom mérete)(Szótárazonosító)HC
1 bájt1 bájt0 - 8 bájt0 - 4 bájt1 bájt

Adatblokkok

Minden adatblokk a következő sorrendet követi.

Blokkméretadat(Block Checksum)
4 bájt0 - 4 bájt

EndMark

A blokkok folyama akkor ér véget, amikor az utolsó adatblokkot a 0x00000000 32 bites érték követi.

Tartalmi ellenőrző összeg

A Content_Checksum ellenőrzi a helyesen dekódolt tartalom érvényességét, és az xxHash-32 algoritmus eredményével hajtják végre. Az összes blokk sikeres átvitelének eredményét a megfelelő sorrendben és hiba nélkül érvényesíti.

Hivatkozások

Lásd még