aspose.info
RO

LZ4 - LZ4 Format de fișier comprimat

Actualizat

Ce este un fișier LZ4?

Un fișier cu extensia .lz4 este un fișier de arhivă comprimat creat cu aplicații/utilități care acceptă compresia LZ4. Algoritmul LZ4 se concentrează pe compromisul între viteză și raportul de compresie. Arhivele LZ4 comprimate pot fi create folosind utilitarul de linie de comandă LZ4 și pot fi decomprimate folosind același lucru.

Format de fișier LZ4

Formatul de fișier LZ4, bazat pe algoritmul de compresie LZ4, este independent de tipul CPU, sistemul de operare, sistemul de fișiere și setul de caractere. Este potrivit pentru compresia fișierelor și compresia în flux folosind algoritmul LZ4. Implementarea inițială a formatului LZ4 a fost realizată în limbajul C de Yann Collet în 2011 și este disponibilă pentru referința dezvoltatorului pe Github .

Format cadru LZ4

Structura generală a formatului de fișier LZ4 este prezentată mai jos.

MagicNbF. DescriptorBlock(…)EndMarkC. Sumă de control
4 octeți3-15 octeți4 octeți0-4 octeți

Număr magic

4 octeți, format Little Endian. Valoare: 0x184D2204

Descriptor de cadru

Descriptorul de cadru constă din 3 t0 15 octeți și este cea mai importantă parte a specificațiilor. Împreună, câmpurile Magic_Number și Frame_Descriptor sunt denumite LZ4 Frame Header, iar dimensiunea acestuia variază între 7 și 19 octeți. Este așa cum se arată mai jos.

FLGBD(Dimensiunea conținutului)(ID dicționar)HC
1 octet1 octet0 - 8 octeți0 - 4 octeți1 octet

Blocuri de date

Fiecare bloc de date urmează următoarea ordine.

Dimensiunea bloculuidate(Block Checksum)
4 octeți0 - 4 octeți

EndMark

Fluxul de blocuri se termină când ultimul bloc de date este urmat de valoarea de 32 de biți 0x00000000.

Sumă de verificare a conținutului

Content_Checksum verifică validitatea conținutului care este decodat corect și este realizat folosind rezultatul algoritmului xxHash-32. Validează rezultatele transmiterii cu succes a tuturor blocurilor în ordinea corectă și fără nicio eroare.

Referințe

Vezi și