Co to jest format pliku BZ?
Plik .bz to plik danych skompresowany za pomocą bzip2 - funkcjonalnie identyczny z bardziej powszechnym formatem .bz2. Stosowany jest ten sam algorytm kompresji, ta sama struktura strumienia binarnego i te same narzędzia; .bz to po prostu starsza, krótsza konwencja rozszerzenia dla wyników bzip2. Całe oprogramowanie obsługujące .bz2 obsługuje .bz w ten sam sposób.
bzip2 kompresuje pojedynczy strumień danych przy użyciu transformaty Burrowsa-Wheelera (BWT), a następnie kodowania move-to-front, kodowania długości serii (RLE) i kodowania Huffmana. Ten wieloetapowy proces zazwyczaj pozwala uzyskać lepsze współczynniki kompresji niż .gz w przypadku tekstu i kodu źródłowego, kosztem wolniejszej prędkości kompresji i dekompresji.
Plik zaczyna się od 3-bajtowej sygnatury BZh (hex 42 5A 68), po której następuje cyfra ASCII 1-9 wskazująca rozmiar bloku w setkach kilobajtów (9 = domyślnie 900 KB). Każdy skompresowany blok zawiera niezależną sumę kontrolną CRC-32; plik kończy się sumą CRC-32 na poziomie strumienia, co pozwala narzędziu bzip2recover na odzyskanie nieuszkodzonych bloków z częściowo uszkodzonego pliku.
Podobnie jak gzip, bzip2 kompresuje pojedynczy strumień plików bez możliwości łączenia wielu plików w pakiety. Aby skompresować katalog, należy najpierw umieścić pliki w archiwum .tar, tworząc plik .tar.bz2 (również .tbz2).
- bzip2 został stworzony przez Juliana Sewarda; wersja 1.0.8 (2019) jest obecnym stabilnym wydaniem.
- Format jest coraz częściej wypierany przez xz/LZMA oraz zstd ze względu na lepszy współczynnik kompresji lub prędkość.
- Polecenie
bunzip2oraz flagatar -jdekompresują pliki.bzi.bz2.
Bezpieczeństwo
RYZYKO: LOWbzip2 jest oprogramowaniem open-source i format jest bezpieczny; plik .bz nie może sam się uruchomić. Obowiązują standardowe środki ostrożności dla archiwów: plik .bz z niezaufanego źródła może zawierać złośliwy plik wykonywalny ujawniony po wypakowaniu - przeskanuj zawartość przed uruchomieniem czegokolwiek. Mały plik .bz może rozwinąć się do bardzo dużego rozmiaru (bomba dekompresyjna), więc należy uważać na podejrzanie małe archiwa.
Szczegóły formatu
w pigułceProgramy otwierające pliki BZ
Szczegóły techniczne
specyfikacja| Sygnatura pliku | 42 5A 68 („BZh”) na offsecie 0, po której następuje cyfra ASCII 1-9 (rozmiar bloku: n × 100 KB) |
| Algorytm kompresji | Transformata Burrowsa-Wheelera (BWT) + move-to-front + kodowanie długości serii + kodowanie Huffmana |
| Rozmiar bloku | 100 KB - 900 KB (ustawiany podczas kompresji flagami od -1 do -9; -9 = domyślnie 900 KB) |
| Integralność CRC | CRC-32 na skompresowany blok + CRC-32 na poziomie strumienia w stopce |
| Kontener | Brak - pojedynczy skompresowany strumień; nie łączy wielu plików |
| Typ MIME | application/x-bzip (również application/x-bzip2) |
| Kodowanie | Binarny strumień bitów; nie wymaga wyrównania kolejności bajtów |
| Częściowe odzyskiwanie | bzip2recover wyodrębnia nieuszkodzone bloki z uszkodzonego lub obciętego pliku |
| Użycie z wieloma plikami | Połącz z .tar, aby utworzyć .tar.bz2 (.tbz2) dla kompresji wielu plików |
| Współczynnik kompresji vs gzip | Zazwyczaj o 10-20% lepszy w przypadku tekstu/kodu źródłowego; znacznie wolniejsza kompresja i dekompresja |
| Typowa prędkość dekompresji | ~20-30 MB/s na jednym rdzeniu (znacznie wolniej niż zstd lub lz4) |
| Stabilność formatu | Niezmieniony od bzip2 1.0 (2000); wszystkie strumienie BZh we wszystkich wersjach są wzajemnie kompatybilne |
| Wariant archiwalny | BZ0 (bzip sprzed wersji 1.0) używał kodowania arytmetycznego - przestarzały, nieczytelny dla bzip2 1.x |
| Nowoczesne alternatywy | xz/LZMA dla lepszego współczynnika kompresji; zstd dla lepszej prędkości; oba stopniowo wypierają bzip2 |
| Wydano | 1996 (bzip 0.21); bzip2 1.0 in 2000 |
| Najnowsza wersja | bzip2 1.0.8 (2019); format unchanged since 1.0 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | sourceware.org |
Konwersje BZ
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki BZ.