Perbezaan antara gzip dan bzip2

Perbezaan antara gzip dan bzip2

GZIP vs BZIP2

GNU ZIP (juga dikenali sebagai GZIP) adalah aplikasi perisian dengan tujuan untuk memampatkan fail. Ia pada asalnya bertujuan untuk menggantikan program kompres yang digunakan dalam sistem UNIX awal - untuk digunakan dalam projek GNU (projek perisian percuma).

BZIP2 adalah algoritma pemampatan data sumber terbuka terbuka - pada dasarnya, kelas algoritma mampatan data yang memungkinkan data asal fail termampat untuk dibina semula sepenuhnya dari data termampat.

GZIP didasarkan pada algoritma yang dikenali sebagai Deflate. Ini juga merupakan algoritma mampatan data tanpa kehilangan. Ia menggunakan kedua -dua algoritma LZ77 dan pengekodan Huffman. Pada dasarnya, GZIP merujuk kepada format fail dengan nama yang sama. Format ini adalah tajuk 10-bait yang mengandungi nombor sihir (yang bermaksud nilai berangka atau teks yang tidak pernah berubah dan digunakan untuk menandakan format fail atau protokol, nilai berangka yang tidak dinamakan yang tidak pernah berubah, atau nilai yang berbeza yang tidak dapat disalahgunakan Untuk apa -apa lagi), tajuk tambahan yang mungkin atau mungkin tidak semestinya diperlukan (nama fail asal, contohnya), badan yang mengandungi muatan yang dikompres (yang merupakan data yang dibawa oleh pengepala), dan footer 8 -bait yang mengandungi cek CRC-32, serta panjang sebenar data yang tidak dikompresi asal.

Terdapat pelbagai teknik mampatan yang digunakan oleh format BZIP2, yang disusun di atas satu sama lain dalam beberapa lapisan. Ia berlaku dalam urutan yang sangat tersendiri: pengekodan jangka panjang (yang mana urutan empat hingga 255 simbol pendua yang digantikan oleh empat simbol pertama, dan panjang pengekodan yang mengulangi antara 0 dan 251), transformasi roda-roda (Burrows Transform ( yang merupakan blok -blok yang boleh diterbalikkan yang membentuk teras BZIP2), bergerak ke depan (meninggalkan saiz blok yang diproses tidak berubah), pengekodan jangka panjang (yang terdiri daripada helai panjang simbol - biasanya zeros - yang sentiasa Ulangi dalam output, dan digantikan oleh kedua-dua simbol dan urutan dua kod), Huffman Coding (yang merupakan proses yang menggantikan simbol panjang tetap 8-bit bait dengan kod panjang berubah), beberapa pengekodan Hoffman (yang terdiri daripada Jadual Hoffman yang sama dengan saiz yang sama), pengekodan asas 1, pengekodan delta, dan array bit jarang.

Ringkasan:

1. GZIP adalah aplikasi percuma yang digunakan untuk memampatkan fail; BZIP2 adalah algoritma mampatan data sumber terbuka yang terbuka yang memungkinkan untuk mengambil data asal fail termampat.

2. GZIP terdiri daripada tajuk 10-bait, tajuk pilihan, badan, dan kaki 8-bait; BZIP2 terdiri daripada tidak kurang daripada sembilan lapisan teknik mampatan.