GZIP против BZIP2
GNU zip (также известный как GZIP) - это программное приложение, предназначенное для сжатия файлов. Первоначально он был предназначен для замены программы сжатия, используемой в ранних системах Unix - для использования в проекте GNU (проект свободного программного обеспечения).
BZIP2 - это алгоритм сжатия данных с открытым исходным кодом без потерь - в основном, класс алгоритмов сжатия данных, позволяющий полностью восстановить исходные данные сжатого файла из сжатых данных..
GZIP основан на алгоритме, известном как DEFLATE. Это также алгоритм сжатия данных без потерь. Он использует как алгоритм LZ77, так и кодирование Хаффмана. По сути, GZIP относится к формату файла с тем же именем. Этот формат представляет собой 10-байтовый заголовок, который содержит магическое число (что означает числовое или текстовое значение, которое никогда не изменяется и используется для обозначения формата файла или протокола, безымянное числовое значение, которое никогда не изменяется, или отличающиеся значения, которые не могут быть ошибочными для чего-либо еще), дополнительные заголовки, которые могут или не могут быть на самом деле необходимы (например, исходное имя файла), тело, которое содержит полезную нагрузку со сжатием DEFLATE (то есть данные, переносимые заголовками), и 8-байтовый нижний колонтитул которая содержит контрольную сумму CRC-32, а также фактическую длину исходных несжатых данных.
Существует множество методов сжатия, которые использует формат BZIP2, которые накладываются друг на друга в несколько слоев. Они встречаются в очень отличительном порядке: кодирование длины серий (любая последовательность из четырех-255 повторяющихся символов, заменяемых первыми четырьмя символами, и длина кодирования, повторяющаяся между 0 и 251), преобразование Берроуза-Уилера ( это обратимая сортировка блоков, составляющая ядро BZIP2), перемещение вперед (оставляет размер обработанного блока без изменений), кодирование по длине прогона (которое состоит из длинных цепей символов - обычно нулей), которые постоянно повторяются в выходных данных и заменяются как символом, так и последовательностью из двух кодов), кодированием Хаффмана (который представляет собой процесс, который заменяет символы фиксированной длины 8-битных байтов на коды с изменяющейся длиной), кодированием множественного Хоффмана (который состоит из несколько таблиц Хоффмана одинакового размера), унарное кодирование по основанию 1, дельта-кодирование и массив разреженных битов.
Резюме:
1. GZIP - бесплатное приложение, используемое для сжатия файлов; BZIP2 - это алгоритм сжатия данных без потерь с открытым исходным кодом, который позволяет получить исходные данные сжатого файла..
2. GZIP состоит из 10-байтового заголовка, необязательных заголовков, основного текста и 8-байтового нижнего колонтитула; BZIP2 состоит не менее чем из девяти слоев методов сжатия.