Файл формата BZ2 открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.
Чем открыть файл в формате BZ2
Сжатый архив, создаваемый bzip2 — программой компрессии файлов, часто имеющейся на системах на основе Unix. Объединяет в себе алгоритм сжатия Burrows-Wheeler и Run-Length Encoding (RLE) для высокого уровня компрессии. Часто применяется для пакетов распространения Linux.
Программа bzip2 доступна в формате исходного кода на веб-сайте bzip2 и может компилироваться на системах Windows.
Чем открыть файл в формате BZ2 (Bzip2 Compressed File)
bzip2 | |
---|---|
Тип | Сжатие данных |
Разработчик | Сюард, Джулиан |
Написана на | ANSI C |
Операционная система | Кроссплатформенное ПО |
Первый выпуск | 18 июля1996 |
Последняя версия |
|
Читаемые форматы файлов | bzip2 [d] |
Создаваемые форматы файлов | bzip2 [d] |
Лицензия | Лицензия BSD[1] |
Сайт | web.archive.org/web/2018… |
Разработана и впервые опубликована Джулианом Сюардом (англ. Julian Seward ) в июле 1996 года (версия 0.15). Стабильность и популярность компрессора росли в течение нескольких лет, и версия 1.0 была опубликована в конце 2000 года.
Содержание
Эффективность [ править | править код ]
В соответствии с традициями UNIX, bzip2 единовременно может выполнять только одну операцию: либо сжатие, либо распаковку и только для одного файла. При сжатии bzip2 добавляет к имени файла расширение « .bz2 ». Для упаковки нескольких файлов их сперва архивируют в один файл утилитой tar , а затем сжимают при помощи bzip2 . Такие архивы обычно имеют расширение « .tar.bz2 ».
bzip2 сжимает большинство файлов эффективнее, но медленнее, чем более традиционные утилиты gzip или zip . В этом отношении он похож на другие современные алгоритмы сжатия.
bzip2 выполняет сжатие данных с существенной нагрузкой на CPU (что обусловлено его математическим аппаратом). bzip2 применяют, если нет ограничений на время сжатия и на нагрузку на CPU, например, для разовой упаковки большого объёма данных.
В некоторых случаях bzip2 уступает по эффективности сжатия архиваторам 7-Zip (метод сжатия LZMA) и rar . Согласно данным автора программы от 2005 года, метод сжатия bzip2 уступает по эффективности сжатия на 10‑15 % [3] наилучшим методам, известным на тот момент (PPM) [4] , но при этом в 2 раза быстрее при сжатии и в 6 раз быстрее при распаковке.
Описание алгоритма [ править | править код ]
Метод сжатия bzip2 работает следующим образом:
- несжатые данные делятся на блоки фиксированного размера;
- выполняется преобразование Барроуза — Уилера для превращения последовательностей многократно чередующихся символов в строки одинаковых символов;
- применяет преобразование MTF;
- используется кодирование Хаффмана.
Приблизительный размер блока можно выбрать при помощи аргументов командной строки (« -1 » для 100 килобайт, « -2 » для 200 КБ, …, « -9 » для 900 КБ). Каждый блок сжимается независимо, сжатые блоки записываются последовательно друг за другом, в начале каждого используется 48-битная последовательность — магическое число 0x314159265359 (в кодировке ASCII при выравнивании на границу байта отображается как «1AY&SY»), то есть запись первых десятичных цифр числа π в формате BCD [5] . Конец файла помечается 48-битной константой 0x177245385090, представляющей собой корень из числа Пи. В начале файлов формата bzip2 используется следующий заголовок: двухбайтовая сигнатура «BZ», затем указание на метод энтропийного сжатия — «h» (Хаффман) и размер блока (десятичное число от 0 до 9).
За счет использования независимого сжатия отдельных блоков возможны реализации формата с параллельным сжатием или распаковкой (для распаковки может потребоваться индекс смещений для каждого блока) [6] .
Использование [ править | править код ]
Примеры использования bzip2 .
Аргументы командной строки bzip2 в основном такие же, как и у утилиты gzip .
Версия GNU tar поддерживает флаг « -j » (« –bzip2 »), который позволяет создавать и распаковывать файлы «tar.bz2» без использования перенаправлений ввода-вывода (англ. pipeline ). Пример:
Современные версии GNU tar могут автоматически определить метод сжатия данных, и поэтому флаг « -j » (« –bzip2 ») можно не использовать. Пример:
Кроме того, существует набор утилит для выполнения поиска, вывода, восстановления и сравнения данных в формате bzip2 :
- bzcat — распаковка данных и вывод на терминал;
- bzmore , bzless — распаковка данных и постраничный вывод на терминал;
- bzcmp — распаковка двух файлов, сравнение содержимого и сообщение результата: «равно» или «не равно»;
- bzdiff — распаковка двух файлов, сравнение содержимого и вывод различий;
- bzgrep , bzegrep , bzfgrep — распаковка данных и поиск в распакованном;
- bzip2recover — распаковка любых блоков, которые только можно распаковать.
Формат файла [ править | править код ]
bzip2 | |
---|---|
Сигнатура | BZh |
Разработчик | Сюард, Джулиан |
Последний выпуск |
|
Тип формата | Сжатие данных |
Открытый формат? | Да: Лицензия BSD |
Сайт | sourceware.org/bzip2/ |
Архив « .bz2 » содержит поток (англ. stream ) сжатых данных. Слово «поток» употребляется, так как данные нельзя разделить логически и блоки данных сжимаются независимо друг от друга. Сжатые данные состоят из следующих полей:
- заголовок размером 4 байта;
- ноль или более блоков сжатых данных различного размера;
- маркер, обозначающий конец сжатых данных и контрольная сумма (CRC) размером 32 бита, вычисленная для всего потока;
- несколько неиспользуемых бит для дополнения размера потока до целого количества байт.
Название поля | Размер поля в битах | Описание |
---|---|---|
.magic | 16 | BZ — константа, сигнатура, магическое число. |
.version | 8 | Байт, кодирующий номер версии. 0 Версия 1 (bzip1). Устарел, не используется. h Версия 2 (bzip2). «h» от англ.Huffman coding . |
.hundred_k_blocksize | 8 | Размер блока несжатых данных в сотнях килобайт. 1 Одна сотня КБ (100 КБ). 2 Две сотни КБ (200 КБ). … И так далее 9 Девять сотен КБ (900 КБ). |
.compressed_magic | 48 | 0x314159265359 — константа, число π, записанное в двоично-десятичном коде (BCD). |
.crc | 32 | Контрольная сумма, рассчитанная для текущего блока. |
.randomised | 1 | 0 нормальная 1 с добавленной случайностью (устарело) |
.origPtr | 24 | начальный указатель в массив BWT после преобразования |
.huffman_used_map | 16 | битовая маска диапазонов в 16 байт, «имеется»/«отсутствует» |
.huffman_used_bitmaps | 0..256 | битовая маска используемых символов, «имеется»/«отсутствует» (кратно 16) |
.huffman_groups | 3 | Число от 2 до 6, количество используемых таблиц Хаффмана. |
.selectors_used | 15 | Число, показывающее сколько раз выполнялась смена таблицы Хаффмана (каждые 50 байт). |
*.selector_list | 1..6 | битовые последовательности, дополненные нулевыми битами (0..62) для таблиц Хаффмана после MTF (*selectors_used) |
.start_huffman_length | 5 | 0..20 начальные битовые длины для дельт Хаффмана |
*.delta_bit_length | 1..40 | 0 следующий символ 1 изменить длину |
< 1=>уменьшить длину на 1; 0=> увеличить длину на 1> (*(symbols+2)*groups)
Максимальный размер несжатого блока для классического формата равен 900 килобайтам. Если блок состоит из одного повторяющегося символа, после кодирования RLE блок займёт около 46 мегабайт (45 899 236 байт), а после выполнения всех операций размер файла .bz2 составит 46 байт. Если повторяющийся символ будет иметь код 251, размер файла .bz2 составит 40 байт, а коэффициент сжатия будет равен 1 147 480,9:1.
BZ2 – популярный стандарт файлов архивов, которые создают в специальной программе под названием BZIP2. Стандарт создаются на базе алгоритма Барроуза-Уиллера, и считается более эффективным, чем при использовании аналогов, включая Z, ZIP, GZ и прочие. Проблема в том, что архивы стандарта файла BZ2 медленнее более востребованных аналогов. При этом конвертирование предусматривает определенные сложности, так как осуществляется посредством размещенные информации в блоки от 100 до 900 Кб. Невзирая на известность стандарта, программ для открытия BZ2 гораздо меньше, чем хотелось бы большинству рядовых пользователей, чем, собственно, и обусловлена суть вопроса. Дело в том, что большинство ПО не поддерживают алгоритм Барроуза-Уиллера, а также символов, которых постоянно встречаются в строчках одинаковых латинских букв. Отсюда возникают проблемы трансформации. Хорошими аналогами выступают утилиты, поддерживающие алгоритм Хаффмана для преобразования данных. С их помощью гораздо проще конвертировать информацию даже при использовании ранних архивов на базе арифметического кодирования.
Как открыть файл в формате .bz2?
Процедура создания файлов с расширением BZ2 предусматривает накопление разных слоев сжатия. При этом вместо последовательностей продублированных символов используется кодирование с переменной длиной строки. Вместе с тем, блоки в таких архивах независимые, а рабочий предел каждого составляет максимум 900 Кб. Трансформация не влияет на размеры блоков, а символы перемещаются к началу, параллельно повторяющиеся символы заменяются. Если не знаете, чем открыть BZ2, можете воспользоваться архиватором WindowsZIP, который поддерживает вышеописанный алгоритм создания файлов, включая два типа специальных кодов – RUNA и RUNB. Они предназначены для уменьшения символов с кодом и повторяющихся знаков. Поэтому файлы компактнее.
Архиватор WindowsZIP для открытия BZ2 файлов
Наше приложение поддерживает таблицы Хаффмана, разные типы кодирования, включая унарное, Sparse bit array и Delta. Кроме того, приложение отличается от большинства даже платных аналогов большим количеством поддерживаемых функций, предназначенных для конвертирования, создания и редактированных разных форматов архивов. Если не знаете, как открыть BZ2 – просто кликните по файлу два раза мышкой. Не запустился? Тогда необходимо указать путь к программе. При помощи программного обеспечения можно устанавливать пароль, шифровать данные и объединять архивы в один. Программа для работы с файлами BZ2 обновляется автоматически, занимает мало места сравнительно аналогами на диске.