回答
嘗試LZMA SDK。它「提供了文檔,樣本,頭文件,庫和工具,您需要開發使用LZMA壓縮的應用程序。」
你可以告訴我們如何使用這個SDK – 2016-02-02 16:26:33
@Frankenstein下載SDK,查看文檔和示例,試用一下,然後如果你有特定的問題回來並且在StackOverflow上詢問它們。 – BenV 2016-02-02 20:18:04
在DOC ==> 7cC.txt中:有一些名爲'7zMain.c'的測試應用程序,但sdk文件夾中沒有這樣的文件...但cmd中的命令7z.exe或7z也不起作用! !你能幫助...謝謝 – 2016-02-02 22:32:21
你試過這裏的例子嗎?
第一個鏈接顯示的代碼,我嘗試和作品。不確定第二個,但它看起來不錯。
第一個沒有使用增量壓縮我想?你可以與我分享您的代碼[email protected]謝謝 – 2016-02-25 16:25:23
下面是簡要說明:
LZMA是由伊戈爾巴甫洛夫,它結合了一個LZ77壓縮和範圍編碼發明了一種壓縮格式。
隨着LZ77,想象你正在複製一個字符的文字,但要採取一些快捷方式。您可以發送單個字符或一對數字(距離,長度),意思是「請複製'長度'字符,從複製文本中的'距離'字符開始,從光標現在的位置開始。而已!
範圍編碼是一種壓縮任何性質的消息的迷人方式。假設你想發送一個非常大的數字N,但數字較少。這是可能的 - 如果一些數字(0到9)更頻繁地出現,並且更少出現。該方法如下。 您以範圍開頭,例如[0,999 [。 您可以將其細分爲10個間隔(對應於數字0到9),並根據它們的出現概率p0 .. p9進行校準。 N的第一個數字可能是3,其相應的間隔是[295,405 [。 然後,通過細分[295,405 [以十個間隔分隔]繼續第二位數字。如果第二個數字是0,那麼你現在可能已經[295,306 [,表示部分消息「30」。當然,你會發現,如果你想堅持使用整數(無論如何計算機都沒有無限精度),那麼當你設置10個概率爲p0 .. p9的時間間隔時,就會很快失去精度。解決方法是在寬度太小時不時追加0到間隔。因此,如果您決定每次寬度小於100時乘以10,則「30」的間隔現在爲[2950,3060 [。 稍後需要對n個數字進行編碼(在n個細分和一些x10需要的時候),你的間隔可能看起來像[298056312,298056701 [。邊界變得越來越大 - 第二個問題。解決方案:你看到最左邊的數字不會再改變。您可以擺脫它們並將它們作爲壓縮消息的一部分發送出去。 這就是基本範圍編碼的工作原理。 然後,一個有趣的事情是,你可以編碼混合不同的字母(數字'0'到'9'和字母'A'到'Z')甚至相同的字母表,但根據上下文具有不同的概率,只要解碼器知道什麼時候使用。這就是範圍編碼。
LZMA專門用於一個單一的二進制字母(0和1),所以範圍總是分爲兩部分。但它適用於很多情境概率。藉助一些參數,您可以在模型中擁有數百萬個不同的概率!概率是事先不知道的,所以在這方面LZMA是一種純粹的自適應方法:編碼器和解碼器在符號被髮送和接收時調整概率。在每個比特被編碼,發送,解碼之後,整個概率集合(並且必須)恰好處於由編碼器和解碼器處於相同狀態。
(複製從這裏:http://gautiersblog.blogspot.ch/2016/08/lzma-compression.html)
相關文章提到的編碼器是可見@https://sourceforge.net/p/unzip-ada/code/HEAD/tree/zip_lib/lzma-encoding.adb
- 1. lzma壓縮冰山
- 2. 如何在As3中使用ByteArray方法解壓縮LZMA壓縮文件?
- 3. 如何創建與LZMA壓縮
- 4. 如何在Java中使用LZMA SDK進行壓縮/解壓縮
- 5. 如何在LZMA SDK中開發增量壓縮/解壓縮?
- 6. 用PHP解壓縮LZMA
- 7. LZMA壓縮對於VB6/VBA?
- 8. LZMA壓縮算法 - 值得它
- 9. lzma壓縮/從內存解壓C++
- 10. 以編程方式解壓LZMA靜態壓縮文件
- 11. MPEG4壓縮如何工作?
- 12. 如何在Windows Phone 7上解壓縮LZMA壓縮的zip文件?
- 13. 帶目標C的LZMA解壓縮
- 14. C#免費壓縮庫,支持7zip(LZMA)
- 15. 德爾福LZMA解壓縮樣本
- 16. 使用LZMA實時壓縮文件?
- 17. 使用LZMA解壓縮內存
- 18. 列出LZMA壓縮文件的內容?
- 19. 壓縮方法
- 20. 如何壓縮文件夾使用lzma sdk?
- 21. 如何在python3中用lzma(* .warc.xz)壓縮warc記錄?
- 22. Ho設置和使用LZMA壓縮算法SDK
- 23. C++ lzma壓縮和解壓大型流的部分
- 24. 如何使用無損方法壓縮和解壓縮JPEG?
- 25. 如何壓縮Ti.utils.base64encode並使用.Net方法解壓縮?
- 26. Zip文件壓縮如何工作?
- 27. 壓縮不zlib庫工作
- 28. KOA-壓縮不工作
- 29. M2Crypto SSL和壓縮方法
- 30. 壓縮中BMP方法
http://www.google.com/search?q=LZMA+compression+algorithm – BenV 2010-06-07 15:50:06
謝謝BenV, 其實我知道它的一般概念,我需要更多的細節和一些例子。 謝謝。 – Shadi 2010-06-07 16:00:01
重寫問題,陳述你所知道的(可能在哪裏),並提出有關細節的問題。 – Unreason 2010-06-07 16:37:20