.BZ2 Dosya Uzantısı

.BZ2 uzantılı dosyalar BZIP2 algoritması kullanılarak sıkıştırılır. Julian Seward tarafından geliştirilen bu ücretsiz ve açık kaynaklı araç, etkileyici sıkıştırma oranlarına ulaşarak büyük dosyaları veya veri kümelerini küçültmek için idealdir. ZIP gibi arşiv formatlarının aksine, BZIP2 yalnızca tek dosyaları sıkıştırır. Neyse ki, BZ2 dosyalarını oluşturmak ve çıkarmak, formatı destekleyen çoğu dosya arşivleyicide basittir. BZIP2’nin hem sıkıştırma hem de sıkıştırmayı açmadaki verimliliği onu yazılım dağıtımı, veri yedekleme ve internet iletimleri için popüler bir seçim haline getirdi.

BZIP2 Arşivi Hakkında

GZIP ‘ye benzer şekilde BZ2, bir veri sıkıştırıcı görevi görür, ancak TAR veya ZIP gibi bir arşivleyicinin çok yönlülüğüne sahip değildir. Bu formatlardan farklı olarak BZIP2, birden fazla dosyanın tek bir arşivde sıkıştırılmasını desteklemez ve şifreleme veya arşiv bölme özellikleri sunmaz. UNIX geleneğinde arşivleme genellikle ayrı olarak ele alınır ve BZIP2 yalnızca sıkıştırma için kullanılır. Ancak BZIP2 ile sıkıştırmayı açma, özellikle yavaş sıkıştırma hızıyla karşılaştırıldığında oldukça verimlidir. Bu dengesizliği gidermek için, 2003 yılında PBZIP2 adı verilen değiştirilmiş bir sürüm ortaya çıktı; bu sürüm, modern çok CPU’lu ve çok çekirdekli sistemlerde sıkıştırma sürelerini önemli ölçüde iyileştirmek için çoklu iş parçacığından yararlanıyor.

.BZ2 Arşiv Dosya Formatı Geçmiş Bilgisi

BZIP2 sıkıştırmasıyla ilişkili .BZ2 dosya formatının kökeni, Julian Seward’ın 1990’ların sonlarında UNIX topluluğu içindeki geliştirme çabalarına kadar uzanır. Yıllar geçtikçe, algoritma bakımda çeşitli geçişlerden geçti ve Micah Snyder Haziran 2021’de bakım görevini devraldı. Bu gelişimin yanı sıra, modern, çoklu CPU’larda sıkıştırma hızlarını artırmak için çoklu iş parçacığı yeteneklerinden yararlanan PBZIP2 gibi modifikasyonlar ortaya çıktı. ve çok çekirdekli sistemler. Bu gelişmelere rağmen, .BZ2 formatının temel ilkeleri Burrows-Wheeler dönüşümü, öne doğru dönüşüm ve Huffman kodlama tekniklerinin verimli kullanımına dayalıdır.

BZIP2 Arşivinin Yapısı

BZIP2, verileri genellikle boyutları 100 ila 900 kB arasında değişen bloklar halinde sıkıştıran blok tabanlı sıkıştırma kullanır. Tekrarlayan karakter dizilerini aynı harflerden oluşan dizelere dönüştürmek için Burrows-Wheeler dönüşümünü kullanır, ardından öne taşıma dönüşümü ve Huffman kodlaması gelir. Özellikle selefi bzip, sıkıştırma için Huffman yerine aritmetik kodlamayı kullanıyordu.

BZIP2 Sıkıştırma Yöntemleri

Ne yazık ki BZIP2, bazı muadillerinde bulunan çeşitli sıkıştırma tekniklerinden yoksundur. Bunun yerine, veri sıkıştırmaya yönelik tekil, titizlikle hazırlanmış bir yaklaşıma dayanır. Bu teknik aşağıdakilerle karakterize edilir:

  • Blok sıralama: BZIP2, verileri bireysel sıkıştırma için daha küçük bloklara böler.
  • Burrows-Wheeler dönüşümü: Bu adım, yinelenen kalıpları belirleyerek sıkıştırma verimliliğini artırmak için her blok içindeki verileri yeniden düzenler.
  • Geriye Doğru Hareket Etme: Algoritma daha sonra dönüştürülmüş veriyi geriye doğru yineler ve daha fazla sıkıştırma için Huffman kodlamasını uygular.
  • Çalışma uzunluğu kodlaması: Bu teknik, ek alan tasarrufu için veri blokları içindeki tekrarlayan karakterleri tanımlar ve kodlar.

BZIP2 Arşivi Desteklenen İşlemler

Aspose.ZIP, .BZ2 dosya arşivleri üzerinde çıkarma, sıkıştırma, dosya paketleme, birleştirme ve arşiv dönüştürme gibi çeşitli işlemleri kolaylaştırır. Kullanıcılar .BZ2 arşivlerinden sorunsuz bir şekilde veri çıkarabilir, dosyaları sıkıştırabilir, arşivleri birleştirebilir ve farklı arşiv formatları arasında kolaylıkla dönüşüm yapabilir. Ayrıca Aspose.ZIP , gelişmiş yönetilebilirlik ve depolama verimliliği için büyük .BZ2 arşivlerinin çeşitli birimlere bölünmesini destekler.

BZIP2 - İç Yapı

Bzip2 için resmi bir belirtim olmasa da, referans uygulamasının tersine mühendislik yoluyla resmi olmayan bir belirtim türetilmiştir. Temelde, bir .bz2 akışı kısa bir 4 baytlık başlıkla başlar, bunu herhangi bir sayıda sıkıştırılmış blok takip eder ve işlenmiş tüm düz metin akışı için 32 bitlik bir CRC sağlama toplamı içeren bir akış sonu işaretçisi ile sorunsuz bir şekilde sonlandırılır. Özellikle, sıkıştırılmış bloklar herhangi bir ek dolguya gerek kalmadan bit seviyesine hizalanır. Bu akıcı yapı, bzip2 sıkıştırma formatının verimliliğini ve basitliğini vurgular.
Başlangıç ​​aşamasında RLE sıkıştırmasına tabi tutulduktan sonra (yukarı bakın), bzip2’de 900 KB’lik tek bir bloğa sığabilecek sıkıştırılmamış metnin maksimum uzunluğu şu kadardır: yaklaşık 46 MB (45.899.236 bayt). Bu senaryo, sıkıştırılmamış metnin tamamı tamamen yinelenen değerlerden oluştuğunda (yalnızca 46 baytlık bir .bz2 dosyasıyla sonuçlanır) ortaya çıkar. Tamamen 251 değerinden oluşan giriş verileri kullanılarak 40 bayt kadar küçük dosyalara bile ulaşılabilir; bu da 1.147.480,9:1 gibi şaşırtıcı bir sıkıştırma oranı sağlar. Bu olağanüstü başarı, bzip2 sıkıştırma algoritmasının inanılmaz verimliliğini ve çok yönlülüğünü sergiliyor.

BZIP2 - İç Yapı

BZIP2 Arşivi ve Desteğinin Popülaritesi

.BZ2 arşivleri, .ZIP veya .7z formatları kadar yaygın olmasa da, özellikle Unix ve Linux ortamlarında belirli uygulamalarda hala kullanım alanı bulmaktadır. Güçlü sıkıştırma yetenekleri sunarlar ve çeşitli işletim sistemleri ve yazılım araçları tarafından iyi desteklenirler. Niş durumlarına rağmen BZIP2 arşivleri, yazılım dağıtımlarının ve veri yedeklemelerinin paketlenmesi için güvenilir bir seçim olmaya devam ediyor. .BZ2 dosyalarına yönelik destek oldukça yaygındır; birçok arşivleme aracı ve komut dosyası dili, bunları oluşturmak ve çıkarmak için yerleşik işlevsellik sunar. Ancak daha yeni sıkıştırma algoritmaları ortaya çıktıkça BZIP2 arşivlerinin popülaritesi ve kullanımı gelişmeye devam edebilir.

BZIP2 Kullanma Örnekleri

Aspose.ZIP, Bzip2 sıkıştırmasını bir sonraki seviyeye taşıyor. Aspose.ZIP, CPU’nuzun paralel işlem gücünden yararlanarak sıkıştırma iş yükünü birden fazla çekirdeğe bölebilir. Bu, özellikle büyük veri kümeleri için önemli ölçüde daha hızlı sıkıştırma süreleri anlamına gelir. Aspose.ZIP ile paralel sıkıştırmayı etkinleştirmek, CompressionThreads özelliğini 1’den büyük bir değere ayarlamak kadar kolaydır.

Parallel Compression for BZ2 Files

This simple configuration unlocks the full potential of your multi-core processor, dramatically accelerating your Bzip2 compression tasks.

using (Bzip2Archive archive = new Bzip2Archive())
{
    archive.SetSource("data.bin");
    archive.Save("result.bz2", new Bzip2SaveOptions() { CompressionThreads =  Environment.ProcessorCount });
}

Bzip2SaveOptions.CompressionThreads property

This setting controls the number of compression threads. When set to a value greater than 1, multithreading compression is activated. Read more .

    public int CompressionThreads { get; set; }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

BZIP2 arşivleri hakkında ek bilgi

İnsanlar soruyor

1. BZIP2 güvenli mi? Dosyaları şifreleyebilir mi?

Bu, veri güvenliğiyle ilgili ortak endişeyi giderir. BZIP2’nin kendisinin şifreleme sağlamadığını açıklığa kavuşturmak önemlidir. Kullanıcıların, dosyalarını BZIP2 ile sıkıştırmadan önce şifrelemek için ayrı bir araca ihtiyaçları olabilir. Örneğin, ayrı şifreleme araçları kullanılarak önceden oluşturulmuş arşivler için güçlü şifreler oluşturulabilir.

2. BZIP2 sıkıştırmasını kullanmanın avantajları ve sınırlamaları nelerdir?

BZIP2’nin temel avantajı yüksek sıkıştırma oranlarına ulaşabilmesidir ancak diğer algoritmalarla karşılaştırıldığında daha fazla hesaplama kaynağı ve zaman gerektirebilir. Ayrıca BZIP2 arşivleri, birden fazla dosyanın tek bir sıkıştırılmış dosyada depolanmasını desteklemez.

3. BZIP2 ile ZIP veya TAR gibi arşiv formatları arasındaki fark nedir?

Bu çok önemlidir çünkü BZIP2, birden fazla dosyayı tek bir pakette arşivleyebilen ZIP ve TAR’dan farklı olarak yalnızca tek dosyaları sıkıştırır. Bu sınırlamayı aşmak için Aspose.ZIP API’lerini kullanarak ZIP arşivlerine sıkıştırma olmadan dosya ekleyin kullanabilirsiniz.