Che cos'è il formato di file BZ?
Un file .bz è un file di dati compresso con bzip2 - funzionalmente identico al formato più comune .bz2. Si applicano lo stesso algoritmo di compressione, la stessa struttura del flusso binario e gli stessi strumenti; .bz è semplicemente la convenzione di estensione più vecchia e breve per l'output di bzip2. Tutti i software che gestiscono .bz2 gestiscono .bz allo stesso modo.
bzip2 comprime un singolo flusso di dati utilizzando una trasformata di Burrows-Wheeler (BWT), seguita da codifica move-to-front, codifica run-length e codifica di Huffman. Questa pipeline a più stadi ottiene tipicamente rapporti di compressione migliori rispetto a .gz su testo e codice sorgente, al costo di una velocità di compressione e decompressione inferiore.
Il file inizia con una firma di 3 byte BZh (hex 42 5A 68) seguita da una cifra ASCII 1-9 che indica la dimensione del blocco in centinaia di kilobyte (9 = 900 KB predefinito). Ogni blocco compresso contiene un checksum CRC-32 indipendente; il file termina con un CRC-32 a livello di flusso, consentendo a bzip2recover di recuperare i blocchi non danneggiati da un file parzialmente corrotto.
Come gzip, bzip2 comprime un singolo flusso di file senza raggruppamento multi-file. Per comprimere una directory, racchiudi prima i file in un archivio .tar, producendo .tar.bz2 (anche .tbz2).
- bzip2 è stato creato da Julian Seward; la versione 1.0.8 (2019) è l'attuale rilascio stabile.
- Il formato è sempre più sostituito da xz/LZMA e zstd per un migliore rapporto di compressione o velocità.
- Il comando
bunzip2e il flagtar -jdecomprimono i file.bze.bz2.
Sicurezza e incolumità
RISCHIO: LOWbzip2 è open-source e il formato è sicuro; un file .bz non può eseguirsi da solo. Si applicano le normali precauzioni per gli archivi: un .bz da una fonte non attendibile potrebbe contenere un eseguibile dannoso rivelato dopo l'estrazione - scansiona i contenuti prima di eseguire qualsiasi cosa. Un piccolo .bz può espandersi in un file molto grande (decompression bomb), quindi diffida degli archivi insolitamente piccoli.
Dettagli del formato
in sintesiProgrammi che aprono file BZ
Dettagli tecnici
specifiche approfondite| Firma del file | 42 5A 68 («BZh») all'offset 0, seguita dalla cifra ASCII 1-9 (dimensione blocco: n × 100 KB) |
| Algoritmo di compressione | Trasformata di Burrows-Wheeler (BWT) + move-to-front + codifica run-length + codifica di Huffman |
| Dimensione del blocco | 100 KB - 900 KB (impostata al momento della compressione tramite i flag da -1 a -9; -9 = 900 KB predefinito) |
| Integrità CRC | CRC-32 per blocco compresso + piè di pagina CRC-32 a livello di flusso |
| Contenitore | Nessuno - singolo flusso compresso; non raggruppa più file |
| Tipo MIME | application/x-bzip (anche application/x-bzip2) |
| Codifica | Flusso di bit binario; non è richiesto l'allineamento dell'ordine dei byte |
| Recupero parziale | bzip2recover estrae i blocchi non danneggiati da un file corrotto o troncato |
| Uso multi-file | Combina con .tar per produrre .tar.bz2 (.tbz2) per la compressione di più file |
| Rapporto di compressione rispetto a gzip | Tipicamente migliore del 10-20% su testo/codice sorgente; compressione e decompressione significativamente più lente |
| Velocità di decompressione tipica | ~20-30 MB/s single-core (molto più lenta di zstd o lz4) |
| Stabilità del formato | Invariato da bzip2 1.0 (2000); tutti i flussi BZh tra le versioni sono reciprocamente compatibili |
| Variante legacy | BZ0 (bzip precedente alla 1.0) utilizzava la codifica aritmetica - obsoleta, non leggibile da bzip2 1.x |
| Alternative moderne | xz/LZMA per un migliore rapporto di compressione; zstd per una migliore velocità; entrambi stanno gradualmente sostituendo bzip2 |
| Rilasciato | 1996 (bzip 0.21); bzip2 1.0 in 2000 |
| Ultima versione | bzip2 1.0.8 (2019); format unchanged since 1.0 |
| Standard aperto | Sì · royalty-free |
| Specifica | sourceware.org |
Conversioni BZ
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file BZ.