bzip2 là phiên bản viết lại và thiết kế lại của 0,21. Nó trông khá giống bề ngoài, nhưng gần như được viết lại hoàn toàn (nhiều lần :-). Sự khác biệt quan trọng là:
Không có bằng sáng chế! (Tôi hy vọng; xem tuyên bố ở trên). bzip-0.21 được sử dụng mã hóa số học; bzip2 sử dụng mã hóa Huffman, thường được coi là không có vấn đề từ quan điểm bằng sáng chế. Cả hai chương trình đều dựa trên biến đổi Burrows-Wheeler, nhưng, theo hiểu biết tốt nhất của tôi, điều đó cũng không được cấp bằng sáng chế.
Nhanh hơn, đặc biệt là lúc giải nén. bzip2 giải nén nhanh hơn 50% so với 0,21, chủ yếu là do sử dụng mã hóa Huffman. Tôi cũng đã cải thiện tốc độ nén, mặc dù không nhiều - có lẽ nó nén nhanh hơn 30% so với 0,21.
Phục hồi từ lỗi phương tiện truyền thông. Cả hai chương trình đều nén dữ liệu theo khối, theo mặc định, dài 900k. Với bzip2, mỗi khối được xử lý hoàn toàn độc lập, mang tổng kiểm tra riêng và được phân tách bằng chuỗi 48 bit. Vì vậy, nếu bạn có một tệp nén bị hỏng, bzip2 có thể trích xuất các khối được nén, phát hiện những khối nào không bị hư hại và giải nén chúng.
Chê độ kiểm tra. Bạn có thể kiểm tra tính toàn vẹn của các tệp nén mà không phải giải nén chúng. Tôi đáng lẽ nên đặt cái này vào 0,21, thật vậy, nhưng quá lười biếng (+ cháy hết mình với việc hack khi tôi phát hành nó).
Xử lý các tập tin rất lặp đi lặp lại tốt hơn nhiều. Các tệp như vậy là trường hợp xấu nhất đối với bất kỳ máy nén sắp xếp khối nào. bzip2 chạy nhanh hơn khoảng mười lần so với 0,21 cho các tệp như vậy.
Hỗ trợ cho các máy nhỏ hơn. bzip2 có thể giải nén bất kỳ tệp nào nó tạo trong 2300k, điều đó có nghĩa là bạn có thể giải nén các tệp trên các máy 4 meg. Sử dụng bộ nhớ tối đa trong quá trình nén cũng giảm khoảng 900k so với 0,21, còn khoảng 6400k.
Xử lý cờ tốt hơn. Đặc biệt, các cờ dài (- like --this) được hỗ trợ, giúp sử dụng dễ dàng hơn.
Thông báo khởi động một dòng được in 0,21 đã biến mất. Đây là tính năng bị phàn nàn nhiều nhất của 0,21. Nó thậm chí còn làm phiền tôi ngày nay.
Tôi không còn phân phối 0,21 nữa, vì làm như vậy sẽ khắc phục được các vấn đề với bằng sáng chế, điều này đảm bảo rằng chương trình sẽ không bao giờ được sử dụng rộng rãi. Đó là một sự xấu hổ, bởi vì đó là một chương trình hữu ích, và nhiều người dường như thích nó. Nếu bạn đã sử dụng 0,21 rồi, vui lòng nâng cấp lên bzip2. Thật không may, tôi không thể làm cho bzip2 có thể giải nén các tệp .bz của 0.21, vì điều đó sẽ khiến bài tập tránh bằng sáng chế trở nên vô nghĩa. Tôi biết thay đổi định dạng tập tin là đau đớn; từ giờ trở đi, tôi sẽ thử và thực hiện thêm bất kỳ thay đổi nào theo cách tương thích ngược.