Otrzymałem odpowiedź na podobne pytanie bezpośrednio od Igora Pavlova na forach 7-Zip, w SourceForge, więc pomyślałem, że odpowiedź może być przydatna dla innych, jeśli ją tutaj powtórzę.
1). Format pliku .lzma używa prostego nagłówka, obsługuje tylko metodę LZMA, i obsługuje tylko jeden plik na archiwum. Nie przechowuje nazwy pliku.
2) Format pliku .7z używa złożonych nagłówków, obsługuje różne metody (w tym LZMA) i obsługuje dużą liczbę plików w archiwum.
- lzma.exe działa tylko z .lzma plików
- 7zr.exe .7z obsługuje pliki i pliki .lzma.
lzma.exe i 7z.exe korzystają z różnych domyślnych ustawień LZMA (rozmiar słownika i inne). Widzisz więc różnicę w współczynniku kompresji . Jeśli ustawisz te same ustawienia dla LZMA, różnica będzie mniejsza o .
Igor Pavlov w Sourceforge forums
ciekawe, że można wymienić lzma robi jeden plik, może lzma jest czasem wykorzystywane do kompresji plików tar .. (od smoły, w przeciwieństwie do archiwum, smoły, jest kilka pliki nie zostały skompresowane, ale zostały umieszczone w jednym pliku) http://packages.openknapsack.org/openssl/openssl-1.0.0k-x86-windows.tar.lzma – barlop
@barlop Myślę, że możesz pomylić niektóre terminy. "tar" to oprogramowanie, które tworzy "paczki", które są pojedynczymi plikami, które zawierają wiele innych plików i są zwykle opatrzone rozszerzeniem ".tar". Dlatego połączony plik jest kompresowany za pomocą lzma, ponieważ jest to pojedynczy plik. Możesz to sprawdzić tutaj: https://en.wikipedia.org/wiki/Tar_(computing) –
ah, dzięki, byłem zdezorientowany terminem tarball .. i '.tar' i' tar.gz' '.tar 'zarchiwizowane, ale nie skompresowane .. a archiwum tar jest chyba' .tar * 'skompresowane lub skompresowane. – barlop