Διαφορά μεταξύ GZIP και BZIP2 Διαφορά μεταξύ

Anonim

GZIP vs BZIP2

Το GNU zip (επίσης γνωστό ως GZIP) είναι μια εφαρμογή λογισμικού με σκοπό τη συμπίεση αρχεία. Αρχικά είχε σκοπό να αντικαταστήσει το πρόγραμμα συμπίεσης που χρησιμοποιήθηκε στα αρχικά συστήματα Unix, το οποίο θα χρησιμοποιηθεί στο έργο GNU (έργο ελεύθερου λογισμικού).

Το BZIP2 είναι ένας αλγόριθμος συμπίεσης δεδομένων χωρίς απώλειες ανοιχτού κώδικα - βασικά μια κλάση αλγορίθμων συμπίεσης δεδομένων που καθιστά δυνατή την πλήρη ανασύσταση των αρχικών δεδομένων ενός συμπιεσμένου αρχείου από τα συμπιεσμένα δεδομένα.

Το GZIP βασίζεται σε έναν αλγόριθμο γνωστό ως DEFLATE. Αυτός είναι επίσης ένας αλγόριθμος συμπίεσης δεδομένων χωρίς απώλειες. Χρησιμοποιεί τόσο τον αλγόριθμο LZ77 όσο και την κωδικοποίηση Huffman. Ουσιαστικά, το GZIP αναφέρεται στη μορφή αρχείου με το ίδιο όνομα. Αυτή η μορφή είναι μια κεφαλίδα 10 bytes που περιέχει έναν μαγικό αριθμό (που σημαίνει αριθμητική ή κειμενική τιμή που δεν αλλάζει ποτέ και χρησιμοποιείται για να δηλώσει μια μορφή αρχείου ή πρωτόκολλο, μια μη ονομαστική αριθμητική τιμή που δεν αλλάζει ποτέ ή ξεχωριστές τιμές που δεν μπορούν να παραπλανηθούν για οτιδήποτε άλλο), πρόσθετες κεφαλίδες που μπορεί ή όχι να είναι απαραίτητες (αρχικό όνομα αρχείου, για παράδειγμα), ένα σώμα που περιέχει ένα DEFLATE-συμπιεσμένο ωφέλιμο φορτίο (τα δεδομένα που φέρουν οι κεφαλίδες) και ένα υποσέλιδο 8-byte το οποίο περιέχει ένα άθροισμα ελέγχου CRC-32, καθώς και το πραγματικό μήκος των αρχικών μη συμπιεσμένων δεδομένων.

Υπάρχουν πολλές τεχνικές συμπίεσης που χρησιμοποιεί η μορφή BZIP2, οι οποίες στοιβάζονται το ένα πάνω στο άλλο σε διάφορα επίπεδα. Εμφανίζονται με μια πολύ διακριτή σειρά: Η κωδικοποίηση κατά μήκος (η οποία είναι οποιαδήποτε ακολουθία τεσσάρων έως 255 διπλών συμβόλων που αντικαθίσταται από τα πρώτα τέσσερα σύμβολα και ένα μήκος κωδικοποίησης που επαναλαμβάνεται μεταξύ 0 και 251), το μετασχηματισμό Burrows-Wheeler (το οποίο είναι το αναστρέψιμο μπλοκ-είδος που αποτελεί τον πυρήνα του BZIP2), Μετακίνηση προς τα εμπρός (αφήνει το μέγεθος του επεξεργασμένου μπλοκ αμετάβλητο), Κωδικεύοντας το μήκος (που αποτελείται από μακριές δέσμες συμβόλων - συνήθως μηδενικά) επανάληψη στην έξοδο και αντικαθίστανται από το σύμβολο και την ακολουθία δύο κωδικών), η κωδικοποίηση Huffman (η οποία είναι μια διαδικασία που αντικαθιστά τα σύμβολα σταθερού μήκους των 8 bits με μεταβαλλόμενους κώδικες μήκους), πολλαπλές κωδικοποιήσεις Hoffman (που αποτελούνται από πολλαπλούς πίνακες Hoffman ίδιου μεγέθους), κωδικοποίηση Unary βάσης 1, κωδικοποίηση Delta και διάταξη Sparse bit.

Περίληψη:

1. Το GZIP είναι μια δωρεάν εφαρμογή που χρησιμοποιείται για τη συμπίεση των αρχείων. Το BZIP2 είναι ένας αλγόριθμος συμπίεσης δεδομένων χωρίς απώλειες που επιτρέπει την ανάκτηση των αρχικών δεδομένων ενός συμπιεσμένου αρχείου.

2. Το GZIP αποτελείται από κεφαλίδα 10 bytes, προαιρετικές κεφαλίδες, σώμα και υποσημείωση 8-byte. Το BZIP2 αποτελείται από λιγότερες από εννέα στρώσεις τεχνικών συμπίεσης.