Estensione file .BZ2
I file con estensione .BZ2 vengono compressi utilizzando l’algoritmo BZIP2. Questo strumento gratuito e open source, sviluppato da Julian Seward, raggiunge rapporti di compressione impressionanti, rendendolo ideale per ridurre file o set di dati di grandi dimensioni. A differenza dei formati di archivio come ZIP , BZIP2 comprime solo singoli file. Per fortuna, creare ed estrarre file BZ2 è semplice con la maggior parte degli archiviatori di file che supportano il formato. L’efficienza di BZIP2 sia nella compressione che nella decompressione lo ha reso una scelta popolare per la distribuzione di software, i backup dei dati e le trasmissioni Internet.
Informazioni sull'archivio BZIP2
Similmente a GZIP , BZ2 funge da compressore di dati, ma non ha la versatilità di un archiviatore come TAR o ZIP. A differenza di questi formati, BZIP2 non supporta la compressione di più file in un unico archivio, né offre funzionalità di crittografia o suddivisione dell’archivio. Nella tradizione UNIX, l’archiviazione viene generalmente gestita separatamente, con BZIP2 utilizzato esclusivamente per la compressione. Tuttavia, la decompressione con BZIP2 è particolarmente efficiente, soprattutto se paragonata alla sua velocità di compressione più lenta. Per risolvere questo squilibrio, nel 2003 è emersa una versione modificata chiamata PBZIP2, che sfrutta il multi-threading per migliorare notevolmente i tempi di compressione sui moderni sistemi multi-CPU e multi-core.
.BZ2 Informazioni sulla cronologia del formato file di archivio
Il formato file .BZ2, associato alla compressione BZIP2, fa risalire le sue origini agli sforzi di sviluppo di Julian Seward alla fine degli anni ‘90 all’interno della comunità UNIX. Nel corso degli anni, l’algoritmo ha subito diverse transizioni nella manutenzione, con Micah Snyder che ne è subentrato come manutentore nel giugno 2021. Accanto a questa evoluzione, sono emerse modifiche come PBZIP2, che sfruttano le funzionalità multi-threading per migliorare le velocità di compressione sui moderni sistemi multi-CPU. e sistemi multi-core. Nonostante questi progressi, i principi fondamentali del formato .BZ2 rimangono radicati nel suo uso efficiente della trasformazione Burrows-Wheeler, della trasformazione move-to-front e delle tecniche di codifica di Huffman.
Struttura dell'archivio BZIP2
BZIP2 utilizza la compressione basata su blocchi, in genere comprimendo i dati in blocchi di dimensioni comprese tra 100 e 900 kB. Utilizza la trasformazione Burrows-Wheeler per convertire sequenze di caratteri ripetitive in stringhe di lettere identiche, seguite dalla trasformazione di spostamento in primo piano e dalla codifica di Huffman. In particolare, il suo predecessore, bzip, utilizzava la codifica aritmetica invece di Huffman per la compressione.
Metodi di compressione BZIP2
Sfortunatamente, BZIP2 non dispone della vasta gamma di tecniche di compressione presenti in alcune delle sue controparti. Si basa invece su un approccio unico e meticolosamente elaborato alla compressione dei dati. Questa tecnica è caratterizzata da:
- Ordinamento in blocchi: BZIP2 divide i dati in blocchi più piccoli per la compressione individuale.
- Trasformazione Burrows-Wheeler: questo passaggio riorganizza i dati all’interno di ciascun blocco per migliorare l’efficienza di compressione identificando modelli ripetitivi.
- Moving Backward: L’algoritmo esegue quindi l’iterazione all’indietro dei dati trasformati, applicando la codifica Huffman per un’ulteriore compressione.
- Codifica run-length: questa tecnica identifica e codifica i caratteri ripetitivi all’interno dei blocchi di dati per un ulteriore risparmio di spazio.
Operazioni supportate dall'archivio BZIP2
Aspose.ZIP facilita una serie di operazioni sugli archivi di file .BZ2, tra cui estrazione, compressione, compressione dei file, unione e conversione degli archivi. Gli utenti possono estrarre facilmente dati da archivi .BZ2, comprimere file, unire archivi e convertire facilmente tra diversi formati di archivio. Inoltre, Aspose.ZIP supporta la suddivisione di archivi .BZ2 di grandi dimensioni in diversi volumi per una migliore gestibilità ed efficienza di archiviazione.
BZIP2 - Struttura interna
Sebbene non esista una specifica ufficiale per bzip2, è stata derivata una specifica informale tramite il reverse engineering dell’implementazione di riferimento. In sostanza, un flusso .bz2 inizia con un’intestazione concisa da 4 byte, seguita da un numero qualsiasi di blocchi compressi, conclusa senza soluzione di continuità da un marcatore di fine flusso con un checksum CRC a 32 bit per l’intero flusso di testo in chiaro elaborato. In particolare, i blocchi compressi sono allineati al livello di bit, senza alcuna necessità di riempimento aggiuntivo. Questa struttura snella sottolinea l’efficienza e la semplicità del formato di compressione bzip2.
Dopo aver subito la compressione RLE nella fase iniziale (vedi sopra), la lunghezza massima del testo non compresso che può essere contenuto in un singolo blocco da 900 KB in bzip2 ammonta a circa 46 MB (45.899.236 byte). Questo scenario si verifica quando l’intero testo non compresso è costituito interamente da valori ripetuti (il risultato è un file .bz2 di soli 46 byte). Anche file più piccoli, fino a 40 byte, sono ottenibili utilizzando dati di input costituiti interamente dal valore 251, risultando in un sorprendente rapporto di compressione di 1.147.480,9:1. Questa straordinaria impresa mette in mostra l’incredibile efficienza e versatilità dell’algoritmo di compressione bzip2.
Popolarità dell'archivio e del supporto BZIP2
Gli archivi .BZ2, sebbene non così diffusi come i formati .ZIP o .7z , trovano comunque utilità in applicazioni specifiche, in particolare negli ambienti Unix e Linux. Offrono potenti capacità di compressione e sono ben supportati su vari sistemi operativi e strumenti software. Nonostante il loro status di nicchia, gli archivi BZIP2 rimangono una scelta affidabile per confezionare distribuzioni di software e backup di dati. Il supporto per i file .BZ2 è diffuso, con molti strumenti di archiviazione e linguaggi di scripting che offrono funzionalità integrate per crearli ed estrarli. Tuttavia, con l’emergere di nuovi algoritmi di compressione, la popolarità e l’utilizzo degli archivi BZIP2 potrebbero continuare ad evolversi.
Esempi di utilizzo di BZIP2
Aspose.ZIP porta la compressione Bzip2 al livello successivo. Sfruttando la potenza di elaborazione parallela della CPU, Aspose.ZIP può dividere il carico di lavoro di compressione su più core. Ciò si traduce in tempi di compressione significativamente più rapidi, soprattutto per set di dati di grandi dimensioni. Attivare la compressione parallela con Aspose.ZIP è facile come impostare la proprietà CompressionThreads su un valore maggiore di 1
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:
![]() | ![]() | ![]() |
---|
Ulteriori informazioni sugli archivi BZIP2
- Organizzazione BZIP
- Bzip2Archive metodi, classi e costruttori
- Crea Tar.BZ2 online
La gente se lo è chiesto
1. BZIP2 è sicuro? Può crittografare i file?
Ciò risolve una preoccupazione comune sulla sicurezza dei dati. È importante chiarire che BZIP2 in sé non offre la crittografia. Gli utenti potrebbero aver bisogno di uno strumento separato per crittografare i propri file prima di comprimerli con BZIP2. Ad esempio, è possibile generare password complesse per archivi creati in precedenza utilizzando strumenti di crittografia separati.
2. Quali sono i vantaggi e i limiti dell’utilizzo della compressione BZIP2?
Il vantaggio principale di BZIP2 è la sua capacità di raggiungere rapporti di compressione elevati, ma potrebbe richiedere più risorse e tempo di calcolo rispetto ad altri algoritmi. Inoltre, gli archivi BZIP2 non supportano la memorizzazione di più file in un singolo file compresso .
3. Qual è la differenza tra BZIP2 e formati di archivio come ZIP o TAR?
Questo è fondamentale perché BZIP2 comprime solo singoli file, a differenza di ZIP e TAR che possono archiviare più file in un unico pacchetto. Per risolvere questa limitazione, è possibile utilizzare le API Aspose.ZIP per aggiungere file agli archivi ZIP senza compressione .