Trình lưu trữ là chương trình có thể nén thông tin trong tệp. Các trình lưu trữ hiện đại cho phép bạn kết hợp nhiều tệp vào một kho lưu trữ và xem nội dung của các tệp lưu trữ đó. Kích thước của tệp lưu trữ được tạo với sự trợ giúp của họ hóa ra nhỏ hơn nhiều so với kích thước của tệp gốc.
Hướng dẫn
Bước 1
Nguyên tắc hoạt động chung của hầu hết các kho lưu trữ là dựa trên một thuật toán được các nhà nghiên cứu A. Lampel và J. Ziv phát triển vào những năm 80 của thế kỷ trước. Thuật toán được tạo bởi Ziv và Lampel cho phép bạn tính toán mã trùng lặp trong một tệp và do đó giảm kích thước của nó. Đối với điều này, một từ điển được biên dịch từ các chuỗi dữ liệu. Ví dụ, mã nhị phân của tệp chứa tổ hợp sau: 10111011101110110011. Dễ dàng nhận thấy rằng mã 1011 được lặp lại nhiều lần trong đó. Trình lưu trữ phát hiện mã như vậy và ghi nó vào kho lưu trữ chỉ một lần và khi giải nén nó, nó lại thay thế mã ở những vị trí cần thiết trong tệp.
Bước 2
Trình lưu trữ sẽ nén tệp tốt như thế nào phụ thuộc vào kích thước của từ điển nguồn. Nếu từ điển quá lớn, nó sẽ ảnh hưởng đến kích thước của kho lưu trữ. Nếu kích thước của từ điển quá nhỏ, có thể xảy ra lỗi trong kho lưu trữ đã tạo. Bạn có thể tăng tỷ lệ nén của tệp bằng cách sử dụng mã hóa entropy (được gọi là phương pháp Huffman). Với mã hóa entropy, các khối nhị phân lặp lại được viết bằng mã ngắn. Trong các trình lưu trữ hiện đại, mã hóa entropy được sử dụng như một phương pháp mã hóa bổ sung.
Bước 3
Trên các hệ thống Unix, gzip là trình lưu trữ phổ biến nhất. Trình lưu trữ này nén dữ liệu một cách dễ dàng và dựa trên thuật toán Deflate. Việc nén các tệp ở đây xảy ra theo hai cách - đầu tiên, các đoạn mã trùng lặp được thay thế, và sau đó các ký tự trong đó được thay thế bằng các ký tự mới bằng phương pháp Huffman. Trình lưu trữ cho hệ thống Unix có một số nhược điểm. Chúng chủ yếu nhắm vào các kho lưu trữ bao gồm nhiều tệp, vì vậy việc giải nén một tệp là rất khó. Điều này là do các trình lưu trữ Unix xem một kho lưu trữ như một mảng liên tục của tất cả các tệp được đóng gói trong đó. Kho lưu trữ được hình thành trên cơ sở thông tin có trong mỗi tệp.
Bước 4
Trên hệ thống Windows, các trình lưu trữ như WinZip, 7-zip và WinRAR là phổ biến. Không giống như các hệ thống Unix, các trình lưu trữ này tập trung làm việc với cả các tệp riêng lẻ và với các tệp lưu trữ liên tục bao gồm nhiều tệp. Hầu hết các trình lưu trữ Windows hiện đại đều "hiểu" nhiều định dạng lưu trữ, hỗ trợ mã hóa và có khả năng nén các tệp rất lớn (ví dụ: kích thước tệp tối đa cho trình lưu trữ WinRAR là hơn tám tỷ gigabyte).