Verschil tussen GZIP en BZIP2 Verschil tussen

Anonim

GZIP versus BZIP2

GNU zip (ook bekend als GZIP) is een softwaretoepassing met als doel comprimeren bestanden. Oorspronkelijk was het bedoeld om het comprimeringsprogramma te vervangen dat werd gebruikt in de vroege Unix-systemen - te gebruiken in het GNU-project (een gratis softwareproject).

BZIP2 is een open source algoritme zonder gegevenscompressie - in feite een klasse van algoritmen voor gegevenscompressie waarmee de oorspronkelijke gegevens van een gecomprimeerd bestand volledig kunnen worden gereconstrueerd uit de gecomprimeerde gegevens.

GZIP is gebaseerd op een algoritme dat DEFLATE wordt genoemd. Dit is ook een algoritme zonder gegevenscompressie. Het maakt gebruik van zowel het LZ77-algoritme als de Huffman-codering. In wezen verwijst GZIP naar het bestandsformaat met dezelfde naam. Dit formaat is een header van 10 bytes die een magisch getal bevat (wat een numerieke of tekstwaarde betekent die nooit verandert en wordt gebruikt om een ​​bestandsindeling of protocol aan te duiden, een naamloze numerieke waarde die nooit verandert of afzonderlijke waarden die niet kunnen worden verward voor wat dan ook), extra headers die al dan niet echt nodig zijn (bijvoorbeeld een originele bestandsnaam), een body die een DEFLATE-gecomprimeerde payload bevat (wat de data is die de headers dragen), en een 8-byte footer die een CRC-32 controlesom bevat, evenals de werkelijke lengte van de originele niet-gecomprimeerde gegevens.

Er zijn verschillende compressietechnieken die het BZIP2-formaat gebruikt, die in verschillende lagen op elkaar zijn gestapeld. Ze komen in een zeer onderscheidende volgorde voor: Run-length-codering (dit is een reeks van vier tot 255 dubbele symbolen die wordt vervangen door de eerste vier symbolen en een codeerlengte die tussen 0 en 251 wordt herhaald), Burrows-Wheeler-transformatie (wat de omkeerbare bloksoort is die de kern van de BZIP2 vormt), Verplaats naar voorgrond (laat de bewerkte blok onveranderd), Looplengtecodering (die bestaat uit lange symbolen - meestal nullen - die constant herhaal in de uitvoer, en worden vervangen door zowel het symbool als een reeks van twee codes), Huffman-codering (wat een proces is dat symbolen met een vaste lengte van 8-bit bytes vervangt met lengtecodes), Multiple Hoffman-codering (die bestaat uit meerdere Hoffman-tabellen van identieke grootte), Unary base 1-codering, Delta-codering en Sparse bit-array.

Samenvatting:

1. GZIP is een gratis applicatie die wordt gebruikt om bestanden te comprimeren; BZIP2 is een open source algoritme voor gegevenscompressie zonder verlies waarmee de originele gegevens van een gecomprimeerd bestand kunnen worden opgehaald.

2. GZIP bestaat uit een header van 10 bytes, optionele headers, een body en een footer van 8 bytes; BZIP2 bestaat uit niet minder dan negen lagen compressietechnieken.