aspose.info
SV

LZ4 - LZ4 komprimerat filformat

Uppdaterad

Vad är en LZ4 fil?

En fil med tillägget .lz4 är en komprimerad arkivfil skapad med applikationer/verktyg som stöder LZ4 komprimering. LZ4-algoritmen fokuserar på avvägning mellan hastighet och kompressionsförhållande. Komprimerade LZ4-arkiv kan skapas med kommandoradsverktyget LZ4 och kan dekomprimeras med detsamma.

LZ4 filformat

LZ4-filformatet, baserat på LZ4-komprimeringsalgoritmen, är oberoende av CPU-typ, operativsystem, filsystem och teckenuppsättning. Den är lämplig för filkomprimering och strömningskomprimering med LZ4-algoritmen. Den initiala implementeringen av LZ4-formatet utfördes på C språk av Yann Collet 2011 och är tillgänglig för utvecklarens referens på Github .

LZ4 ramformat

Den allmänna strukturen för LZ4-filformatet är som visas nedan.

MagicNbF. BeskrivningBlock(…)EndMarkC. Kontrollsumma
4 byte3-15 byte4 byte0-4 byte

Magiskt nummer

4 byte, Little endian-format. Värde: 0x184D2204

Frame Descriptor

Rambeskrivningen består av 3 t0 15 byte och är den viktigaste delen av specifikationerna. Tillsammans kallas fälten Magic_Number och Frame_Descriptor som LZ4 Frame Header, och dess storlek varierar mellan 7 och 19 byte. Det är som visas nedan.

FLGBD(Innehållsstorlek)(Ordbok ID)HC
1 byte1 byte0 - 8 byte0 - 4 byte1 byte

Datablock

Varje datablock följer följande ordning.

Blockstorlekdata(Blockera kontrollsumma)
4 byte0 - 4 byte

EndMark

Flödet av block slutar när det sista datablocket följs av 32-bitarsvärdet 0x00000000.

Innehållskontrollsumma

Content_Checksum verifierar giltigheten av innehållet som avkodas korrekt och utförs med hjälp av resultatet av xxHash-32-algoritmen. Den validerar resultaten av framgångsrik överföring av alla block i rätt ordning och utan några fel.

Referenser

Se även