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.