GZIP ve BZIP2 Arasındaki Fark

Anonim

GZIP ve BZIP2

GNU zip (GZIP olarak da bilinir) sıkıştırmak için kullanılan bir yazılım uygulamasıdır Dosyalar. Aslen ilk Unix sistemlerinde kullanılan sıkıştırma programının yerini alması amaçlandı - GNU Projesinde (özgür bir yazılım projesi) kullanılacak.

BZIP2 açık kaynak kodlu, kayıpsız veri sıkıştırma algoritmasıdır - temel olarak, sıkıştırılmış bir dosyanın orijinal verisinin sıkıştırılmış veriden tamamen yeniden oluşturulmasını mümkün kılan bir veri sıkıştırma algoritması sınıfı.

GZIP, DEFLATE olarak bilinen bir algoritmaya dayalıdır. Bu aynı zamanda kayıpsız veri sıkıştırma algoritmasıdır. Hem LZ77 algoritmasını hem de Huffman kodlamayı kullanıyor. Aslında GZIP, aynı adın dosya biçimini belirtir. Bu biçim, sihirli bir sayı (asla değişmeyen sayısal veya metin değeri anlamına gelir ve bir dosya biçimini veya protokolü, asla değişmeyen adsız bir sayısal değeri veya yanlışlıkla alınamayan farklı değerleri belirtmek için kullanılır) içeren 10 baytlık bir başlıktır (örneğin, orijinal dosya adı), DEFLATE ile sıkıştırılmış bir yük (üstbilgilerin taşıdığı veri) içeren bir gövde ve bir 8 bayt altbilgi içeren bir gövde bir CRC-32 sağlama toplamını ve özgün sıkıştırılmamış verilerin gerçek uzunluğunu içerir.

BZIP2 formatının kullandığı, birkaç katmanda birbiri üstüne yığılmış çeşitli sıkıştırma teknikleri vardır. Bunlar çok ayırt edici bir sırayla ortaya çıkar: Süre uzunluğu kodlaması (ilk dört sembolün yerini alan dört ila 255 çoğaltma semboldür ve 0 ile 251 arasında tekrar eden kodlama uzunluğu), Burrows-Wheeler dönüşümü BZIP2'nin çekirdeğini oluşturan geri dönüşümlü blok sıralamadır), Önüne Taşı (işlenmiş bloğun boyutunu değiştirmeden bırakır), Süre uzunluğu kodlaması (uzun sembollerden oluşan - genellikle sıfırlardan oluşur - sürekli olarak Huffman kodlaması (8 bitlik baytların sabit uzunluklu simgelerinin yerini alan uzunluk kodlarıyla değiştiren bir işlemdir), Birden Fazla Hoffman kodlaması (bu kod, aynı boyuttaki birden fazla Hoffman tablosu), Unary taban 1 kodlaması, Delta kodlaması ve Seyrek bit dizisi.

Özet:

1. GZIP, dosyaları sıkıştırmak için kullanılan ücretsiz bir uygulamadır; BZIP2, sıkıştırılmış bir dosyanın orijinal verilerini elde etmeyi mümkün kılan, açık kaynak kodlu, kayıpsız veri sıkıştırma algoritmasıdır.

2. GZIP, 10 baytlık bir üstbilgi, isteğe bağlı üstbilgiler, bir gövde ve 8 bayt altbilgiden oluşur; BZIP2, en az dokuz katman sıkıştırma tekniğinden oluşur.