回答
尝试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