Tệp LZMA là gì?
Tệp có phần mở rộng .lzma là tệp lưu trữ nén được tạo bằng phương pháp nén LZMA (Thuật toán chuỗi Lempel-Ziv-Markov). Chúng chủ yếu được tìm thấy/sử dụng trên hệ điều hành Unix và tương tự như các thuật toán nén khác như ZIP để giảm thiểu kích thước tệp. LZMA là định dạng tệp kế thừa, đang hoặc đã được thay thế bằng định dạng .xz. Loại MIME của định dạng .lzma là `application/x-lzma’. Định dạng tệp này được thiết kế bởi Igor Pavlov để sử dụng trong LZMA SDK.
Định dạng tệp LZMA
Tệp LZMA bao gồm hai phần chính:
- Tiêu đề
- Dữ liệu nén
Tiêu đề LZMA
Các tệp LZMA có tiêu đề 13 byte theo sau là dữ liệu nén LZMA. Tiêu đề LZMA bao gồm:
- Đặc tính
- Kích cỡ từ điển
- Kích thước không nén
Thuộc tính tiêu đề LZMA
Trường Thuộc tính chứa ba thuộc tính. Một chữ viết tắt được đưa ra trong ngoặc đơn, theo sau là phạm vi giá trị của thuộc tính. trường bao gồm
- số bit ngữ cảnh bằng chữ (lc, [0, 8]);
- số bit vị trí chữ (lp, [0, 4]); và
- số bit vị trí (pb, [0, 4]).
Kích thước từ điển LZMA
Điều này được lưu trữ dưới dạng một số nguyên cuối nhỏ 32 bit không dấu với các giá trị nằm trong khoảng từ 2^n và 2^n + 2^(n-1). LZMA Utils có thể giải nén các tệp với bất kỳ kích thước từ điển nào.
Kích thước không nén
Kích thước không nén được lưu trữ dưới dạng số nguyên cuối nhỏ 64 bit không dấu. Giá trị đặc biệt của 0xFFFF_FFFF_FFFF_FFFF cho biết rằng Kích thước không nén không xác định. Giá trị được biểu thị bằng Điểm đánh dấu kết thúc tải trọng (*) khi và chỉ khi Kích thước không nén không xác định.