aspose.info
NL

LZ4 - LZ4 gecomprimeerd bestandsformaat

Bijgewerkt

Wat is een LZ4-bestand?

Een bestand met de extensie .lz4 is een gecomprimeerd archiefbestand dat is gemaakt met toepassingen/hulpprogramma’s die LZ4-compressie ondersteunen. Het LZ4-algoritme richt zich op de afweging tussen snelheid en compressieverhouding. Gecomprimeerde LZ4-archieven kunnen worden gemaakt met behulp van het LZ4-opdrachtregelhulpprogramma en kunnen met hetzelfde worden gedecomprimeerd.

LZ4-bestandsindeling

Het LZ4-bestandsformaat, gebaseerd op het LZ4-compressiealgoritme, is onafhankelijk van het CPU-type, het besturingssysteem, het bestandssysteem en de tekenset. Het is geschikt voor bestandscompressie en streamingcompressie met behulp van het LZ4-algoritme. De initiële implementatie van het LZ4-formaat werd uitgevoerd in de taal C door Yann Collet in 2011 en is beschikbaar voor ontwikkelaarreferentie op Github .

LZ4 Frame-indeling

De algemene structuur van het LZ4-bestandsformaat is zoals hieronder weergegeven.

MagischNbF. DescriptorBlokkeren(…)EndMarkC. Controlesom
4 bytes3-15 bytes4 bytes0-4 bytes

Magisch nummer

4 bytes, Little endian-formaat. Waarde: 0x184D2204

Framebeschrijving

De framedescriptor bestaat uit 3 tot 15 bytes en is het belangrijkste onderdeel van de specificaties. Samen worden de velden Magic_Number en Frame_Descriptor LZ4 Frame Header genoemd, en de grootte varieert tussen 7 en 19 bytes. Het is zoals hieronder weergegeven.

FLGBD(Inhoudsgrootte)(Woordenboek-ID)HC
1 byte1 byte0 - 8 bytes0 - 4 bytes1 byte

Gegevensblokken

Elk gegevensblok volgt de volgende volgorde.

Blokgroottegegevens(Blokcontrolesom)
4 bytes0 - 4 bytes

EndMark

De stroom van blokken eindigt wanneer het laatste gegevensblok wordt gevolgd door de 32-bits waarde 0x00000000.

Inhoudscontrolesom

De Content_Checksum verifieert de geldigheid van de inhoud die correct wordt gedecodeerd en wordt uitgevoerd met behulp van het resultaat van het xxHash-32-algoritme. Het valideert de resultaten van een succesvolle verzending van alle blokken in de juiste volgorde en zonder fouten.

Referenties

Zie ook