GZIP vs BZIP2
GNU zip (còn được gọi là GZIP) là một ứng dụng phần mềm với mục đích nén các tệp. Ban đầu nó được dự định để thay thế chương trình nén được sử dụng trong các hệ thống Unix ban đầu - sẽ được sử dụng trong Dự án GNU (một dự án phần mềm miễn phí).
BZIP2 là một thuật toán nén dữ liệu không mất dữ liệu nguồn mở - về cơ bản, một lớp các thuật toán nén dữ liệu giúp cho dữ liệu gốc của tệp nén được tái tạo hoàn toàn từ dữ liệu nén.
GZIP dựa trên một thuật toán được gọi là DEFLATE. Đây cũng là một thuật toán nén dữ liệu lossless. Nó sử dụng cả thuật toán LZ77 và mã hóa Huffman. Về cơ bản, GZIP đề cập đến định dạng tệp cùng tên. Định dạng này là tiêu đề 10 byte chứa số ma thuật (có nghĩa là giá trị số hoặc văn bản không bao giờ thay đổi và được sử dụng để biểu thị định dạng tệp hoặc giao thức, giá trị số không tên không bao giờ thay đổi hoặc giá trị riêng biệt không thể nhầm lẫn đối với bất cứ điều gì khác), các tiêu đề bổ sung có thể thực sự cần thiết (ví dụ tên tệp gốc), phần thân chứa tải trọng được nén DEFLATE (là dữ liệu mà các tiêu đề mang theo) và chân trang 8 byte trong đó có tổng kiểm tra CRC-32, cũng như độ dài thực tế của dữ liệu không nén ban đầu.
Có nhiều kỹ thuật nén mà định dạng BZIP2 sử dụng, được xếp chồng lên nhau trong nhiều lớp. Chúng xảy ra theo một thứ tự rất đặc biệt: Mã hóa độ dài chạy (là bất kỳ chuỗi nào từ bốn đến 255 ký hiệu trùng lặp được thay thế bằng bốn ký hiệu đầu tiên và độ dài mã hóa lặp lại từ 0 đến 251), biến đổi Burrows-Wheeler ( đó là loại sắp xếp khối có thể đảo ngược tạo nên lõi của BZIP2), Di chuyển về phía trước (giữ nguyên kích thước của khối được xử lý không thay đổi), mã hóa độ dài Run (bao gồm các chuỗi ký hiệu dài - thường là số không - liên tục lặp lại ở đầu ra và được thay thế bằng cả ký hiệu và chuỗi hai mã), mã hóa Huffman (là quá trình thay thế các ký hiệu có độ dài cố định của các byte 8 bit bằng mã thay đổi độ dài), mã hóa nhiều Hoffman (bao gồm nhiều bảng Hoffman có cùng kích thước), mã hóa Unary cơ sở 1, mã hóa Delta và mảng bit thưa thớt.
Tóm lược:
1. GZIP là một ứng dụng miễn phí được sử dụng để nén các tệp; BZIP2 là một thuật toán nén dữ liệu không mất dữ liệu nguồn mở, cho phép lấy dữ liệu gốc của một tệp nén.
2. GZIP bao gồm một tiêu đề 10 byte, các tiêu đề tùy chọn, phần thân và chân trang 8 byte; BZIP2 bao gồm không ít hơn chín lớp kỹ thuật nén.