2012-10-16 33 views
9

Xác nhận quyền sở hữu 7-Zip bằng cách sử dụng LZMA làm thuật toán nén. Tuy nhiên, LZMA SDK đi kèm với hai tập tin thực thi, 7zr.exe và lzma.exe, trong đó có các tùy chọn khác nhau/thiết bị chuyển mạch và tạo ra kết quả khác nhau mà không phải là interchangeble, mặc dù chúng có kích thước chặt chẽ.Sự khác nhau giữa máy nén 7z và lzma là gì?

Câu hỏi đặt ra là: Sự khác biệt giữa hai bộ xử lý này là gì?

Trả lời

13

Tôi đã nhận được câu trả lời cho câu hỏi tương tự trực tiếp từ Igor Pavlov trong diễn đàn 7-Zip, trong SourceForge, vì vậy tôi nghĩ rằng phản hồi có thể hữu ích cho người khác nếu tôi tái tạo ở đây.

1) .lzma định dạng tệp sử dụng tiêu đề đơn giản, nó chỉ hỗ trợ phương pháp LZMA, và chỉ hỗ trợ một tệp cho mỗi tệp lưu trữ. Nó không lưu trữ tên tập tin.

2) .7z định dạng tệp sử dụng tiêu đề phức tạp, nó hỗ trợ các phương thức khác nhau (bao gồm LZMA) và hỗ trợ số tệp lớn trong lưu trữ.

  • lzma.exe chỉ làm việc với các file .lzma
  • 7zr.exe hỗ trợ .7z file và các file .lzma.

lzma.exe và 7z.exe sử dụng các cài đặt mặc định khác cho LZMA (kích thước từ điển và khác). Vì vậy, bạn thấy sự khác biệt trong tỷ lệ nén . Nếu bạn đặt cùng một cài đặt cho LZMA, sự khác biệt sẽ là nhỏ hơn.

Igor Pavlov trong Sourceforge forums

+0

thú vị mà bạn đề cập đến LZMA làm một tập tin, có lẽ LZMA đôi khi được dùng để nén file tar .. (kể từ khi một tar như trái ngược với một tarball, một tar, là một loạt các các tệp không được nén nhưng được đưa vào một tệp) http://packages.openknapsack.org/openssl/openssl-1.0.0k-x86-windows.tar.lzma – barlop

+1

@barlop Tôi nghĩ rằng bạn có thể nhầm lẫn một số thuật ngữ ở đó. "tar" là phần mềm tạo "tarballs", là các tệp đơn chứa nhiều tệp khác bên trong và thường được cung cấp phần mở rộng ".tar". Đó là lý do tại sao tệp bạn đã liên kết được nén bằng lzma, vì đó là một tệp duy nhất. Bạn có thể kiểm tra nó ở đây: https://en.wikipedia.org/wiki/Tar_(computing) –

+0

ah cảm ơn, tôi đã bị nhầm lẫn bởi thuật ngữ tarball .. và '.tar' và' tar.gz' '.tar 'được lưu trữ nhưng không nén .. và tarball được tôi đoán' .tar * 'bất kỳ tập tin tar nén hay không. – barlop