Bzip2

bzip2
Тип стиснення даних
Розробник Julian Seward
Стабільний випуск 1.0.5 (17 березня 2008)
Операційна система Cross-platform
Мова програмування C
Ліцензія BSD
Онлайн-документація bzip.org/1.0.5/bzip2-manual-1.0.5.html
Репозиторій sourceware.org/git/bzip2.git
Вебсайт bzip.org

bzip2 — безкоштовна вільна утиліта командного рядка (а також алгоритм) з відкритим початковим кодом для стиснення даних.

Розроблена і вперше опублікована Джуліаном Сьюардом[en] в липні 1996 (версія 0.15). Стабільність і популярність компресора росли протягом кількох років, і версія 1.0 була опублікована в кінці 2000 року.

Ефективність

Відповідно до традицій UNIX-програмування, bzip2 виконує тільки одну функцію: стиснення і розпаковування одного файлу. При цьому до назви файлу за умовчанням додається розширення .bz2. Для упаковки декількох файлів їх зазвичай спершу архівують в один файл утилітою tar, і потім вже стискають за допомогою bzip2. Такі архіви зазвичай мають розширення .tar.bz2.

bzip2 стискає більшість файлів ефективніше, але повільніше, ніж традиційніші gzip або zip. В цьому відношенні він схожий на інші сучасні алгоритми стиснення.

В деяких випадках bzip2 програє архіваторам 7-Zip (LZMA) і RAR в абсолютній ефективності стиснення. Згідно з автором, bzip2 програє від 10 до 15 відсотків найкращому класу алгоритмів стиснення даних, відомих в цей час (PPM), але при цьому вдвічі швидший при стисненні і в 6 разів швидший при розпаковуванні.

bzip2 використовує перетворення Барроуза-Вілера (англ. Burrows-Wheeler transform, сортування блоків) для перетворення послідовностей символів, що багато разів чергуються, на рядки однакових символів, потім застосовує перетворення MTF (англ. move-to-front), і в кінці кодування Гаффмана. Блоки в bzip2 мають однаковий розмір в нестиненому потоці. Розмір блоку можна вибрати за допомогою аргументу командного рядка, і він позначається в стислому тексті довільно вибраною послідовністю бітів представлення числа Пі.

Попередник bzip2, програма bzip, використовувала арифметичне кодування після сортування блоку. Від нього відмовилися через патентні обмеження.

Використання

bzip2 можна використовувати як в комбінації з tar, так і окремо: bzip2 file для стиснення і bzip2 -d file.bz2 для розпаковування (замість bzip2 -d можна використовувати альтернативну назву bunzip2).

Аргументи командного рядка bzip2 в основному такі ж, як і у gzip. Так, для розпаковування архіву tar, стисненого bzip2:

bzip2 -cd назваархіва.tar.bz2 | tar -xvf -

Для створення стисненого bzip2 архіву tar:

tar -cvf - файли | bzip2 -9 > назваархіва.tar.bz2

Версія GNU tar підтримує опцію -j, яка дозволяє створювати і розпаковувати tar.bz2 файли без використання перенаправлень вводу-виводу (англ. pipeline):

tar -cvjf назваархіва.tar.bz2 перелікфайлів

Розпаковування tar-рахіва, стисненого bzip2 за допомогою GNU tar:

tar -xvjf назваархіва.tar.bz2

Примітки

Посилання

  • п
  • о
  • р
Архіватори з
стисненням
(порівняння[en])
Вільні
  • 7-Zip
  • Archive Manager[en]
  • Ark
  • AFreeArc[en]
  • Info-ZIP[en]
  • KGB Archiver[en]
  • PAQ
  • PeaZip
  • The Unarchiver[en] (тільки декомпресія)
  • tar
  • Xarchiver
  • Zipeg[en]
  • ZPAQ[en]
Безплатні
  • Filzip[en]
  • LHA[en]
  • StuffIt Expander[en] (тільки декомпресія)
  • TUGZip[en]
  • ZipGenius[en]
Комерційні
Неархівне
стиснення
Загальні
Для коду[en]
UPX[en]
Стиснення
аудіо
(порівняння[en])
З втратами
  • Fraunhofer FDK AAC[en]
  • Nero AAC Codec[en]
  • Freeware Advanced Audio Coder (FAAC)[en]
  • Helix DNA Producer[en]
  • l3enc[en]
  • LAME
  • TooLAME[en]
  • libavcodec
  • libcelt[en]
  • libopus
  • libspeex[en]
  • Musepack
  • libvorbis
  • Windows Media Encoder[en]
Без втрат
Стиснення
відео
(порівняння[en])
З втратами
MPEG-4 ASP[en]
H.264 /
MPEG-4 AVC
HEVC
Інші
  • CineForm[en]
  • Cinepak[en]
  • Daala
  • DNxHD[en]
  • Helix DNA Producer[en]
  • Indeo[en]
  • libavcodec
  • Schrödinger (Dirac)[en]
  • SBC[en]
  • Sorenson[en]
  • VP7[en]
  • libtheora
  • libvpx[en]
  • Windows Media Encoder[en]
Без втрат
  • FFV1[en]
  • HuffYUV
  • Lagarith[en]
  • MSU Lossless[en]
  • YULS[en]
  • Див. також: методи стиснення та формати стиснення
    • п
    • о
    • р
    Формати архівів
    Тільки архівування
    ar · cpio · shar · tar · LBR
    Тільки стискування
    bzip · bzip2 · gzip · LZMA · lzop · rzip · SQ · compress · LZW · xz · zstd
    Архівування і стискування
    7z · ACE · ARC · ALZip · ARJ · CAB · cpt · DAR · dd · DGCA · dmg · GCA · kgb · LHA · LZX · PAQ · RAR · qda · sit · SQX · zoo · ZIP  · XAP
    Формати для пакунків і дистрибюції
    deb · pkg · RPM · MSI · JAR (WAR · RAR (Java) · EAR)

    П:  Портал «Програмування» П:  Портал «Інформаційні технології»