DevToys Web Pro iconDevToys Web ProБлог
Оцініть нас:
Спробуйте розширення для браузера:

Розпаковувач Bzip2

Формат введення:
Введення Base64
  • Або перетягніть файл .bz2

    Розпакований результат
  • Про Bzip2

    Bzip2 використовує алгоритм блочного сортування Берроуза—Вілера з подальшим кодуванням Гаффмана, забезпечуючи кращі коефіцієнти стиснення, ніж gzip, ціною нижчої швидкості та більшого споживання пам’яті.

    • Поширений у Linux/macOS для стиснення одного файла (розширення .bz2)
    • Типове стиснення: на 10–15% кращий коефіцієнт, ніж у gzip
    • Стиснення через CLI: bzip2 file.txt
    • Розпакування через CLI: bunzip2 file.txt.bz2
    • Часто поєднують із tar: tar -xjf archive.tar.bz2

    Уся обробка відбувається у вашому браузері — жодні дані не надсилаються на жоден сервер.

    Технічні деталі

    Як працює розпаковувач Bzip2

    Що робить інструмент

    Розпаковувач Bzip2 декодує стиснені файли .bz2 повністю в браузері, відтворюючи оригінальний нестиснений вміст. Він реалізує конвеєр розпакування на основі перетворення Берроуза—Вілера та кодування Гаффмана в JavaScript без будь-якої серверної обробки. Це інструмент лише для декодування — він розпаковує дані bzip2, але не створює нові архіви bzip2.

    Поширені сценарії використання для розробників

    Розробники використовують цей інструмент, щоб швидко переглянути журнальні файли, дампи баз даних або архіви вихідного коду, стиснені bzip2, без встановлення інструментів командного рядка. Він корисний під час роботи в системах, де bzip2 не встановлено за замовчуванням (Windows, мінімальні контейнери), коли потрібно зазирнути у вміст файлу .bz2, завантаженого з репозиторію пакетів, або коли потрібно розпакувати один файл від колеги, не торкаючись термінала.

    Формати даних, типи або варіанти

    Bzip2 використовує конвеєр із перетворення Берроуза—Вілера (BWT), кодування Move-to-Front і кодування Гаффмана, щоб досягати коефіцієнтів стиснення зазвичай на 10–15% кращих за gzip ціною нижчої швидкості. Файли мають розширення .bz2 і починаються з магічних байтів 'BZ', за якими йде індикатор версії. Розміри блоків варіюються від 100k до 900k (позначаються цифрами 1–9 у заголовку), причому більші блоки дають краще стиснення, але потребують більше пам’яті для розпакування.

    Поширені помилки та крайові випадки

    Bzip2 не підтримує потокове розпакування так само чисто, як gzip — весь блок потрібно прочитати, перш ніж з’явиться будь-який вихід, а це означає, що дуже великі файли можуть споживати значний обсяг пам’яті браузера. Багатопотокові файли bzip2 (створені pbzip2 для паралельного стиснення) містять з’єднані потоки bzip2, які деякі декодери обробляють некоректно. Інструмент обробляє стандартні однопотокові файли .bz2; для архівів .tar.bz2 ви отримаєте сирий вміст tar, який ще потрібно витягнути.

    Коли використовувати цей інструмент, а коли — код

    Використовуйте цей браузерний інструмент для швидкого одноразового розпакування, коли потрібно зазирнути у вміст файлу без встановлення утиліт bzip2. Для розпакування за сценаріями в конвеєрах, пакетної обробки кількох архівів або роботи з файлами .tar.bz2, які потрібно витягувати, використовуйте командні утиліти bzip2/pbzip2 або бібліотеки мов, як-от модуль bz2 у Python, що підтримують потокову обробку та інтегруються з витягуванням tar.