| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 384 人关注过本帖
标题:文件的压缩与解压的C算法
收藏  订阅  推荐  打印
rechured
Rank: 1
等级:新手上路
帖子:2
积分:122
注册:2008-8-3
文件的压缩与解压的C算法

我对压缩算法不懂,但却遇到文件压缩的问题,发个贴子和大家一起讨论,希望有高手指教!

我想找一种这样的压缩软件(算法):
1、能将普通文件压缩到原来的80%以下。
2、(主要是这个要求)解压时可能从压缩文件的任意位置开始解压,而不是从头开始解压。如:我只想解压中间某一段,我就能找到这一段进行解压,其它部分就不解压了。
有这样的压缩软件或算法没有?请高手指点一下,或一起讨论。
2008-8-3 17:42
Rand
Rank: 2
等级:注册会员
帖子:49
积分:664
注册:2008-7-2

1.信息论与编码理论告诉我们,你的第一个就是不可能实现的,除非压缩后有损失。
2.常用的编码方法(变长)有仙农,费诺,霍夫曼,算术,游程,字典。
其中字典编码是广泛应有的,包括 WinRaR,PKzip,gif png等格式都是得益于字典编码
  广泛应用的压缩算法都是无失真的编码,你想在这些基础上改进,还是先看看编码方法本身吧,虽然这个理论上不是一般的难~
  另外,MP3,Rmvb等的编码就是有损编码,所以体积可以比CD,AVI格式小很多,但是因为有损,所以不可逆的(格式可以反转换,但是里面丢失的信息是不可能找回来了)。这种编码方法和要压缩的文件的性质关系很大,都只能对特定的东西进行压缩
  以上意见给LZ参考吧
2008-8-3 21:54
mark0289
Rank: 2
等级:注册会员
帖子:81
积分:970
注册:2006-4-5

不懂啊,没有学过相关理论,云雾之中
2008-8-3 23:51
vfdff
Rank: 6Rank: 6
等级:金牌会员
威望:4
帖子:1169
积分:13014
注册:2005-7-15
回复 2# Rand 的帖子

1.信息论与编码理论告诉我们,你的第一个就是不可能实现的,除非压缩后有损失。 这个不一定的吧?有时候游长编码是有效果的
不信看看rar软件就知道了 ,他好像就是游长编码的
2008-8-4 11:13
rechured
Rank: 1
等级:新手上路
帖子:2
积分:122
注册:2008-8-3
回复 2# Rand 的帖子

我说的好像有歧义啊。我是说压缩后的文件大小是没有压缩时的80%以下就OK,也就是压缩率>=20%
这个好办,就是要想解压哪一段就解压哪一段,其余的不解压,这个恐怕难办。
2008-8-4 21:19
Rand
Rank: 2
等级:注册会员
帖子:49
积分:664
注册:2008-7-2

引用:
vfdff 在 2008-8-4 11:13 的发言:

1.信息论与编码理论告诉我们,你的第一个就是不可能实现的,除非压缩后有损失。 这个不一定的吧?有时候游长编码是有效果的
不信看看rar软件就知道了 ,他好像就是游长编码的
压缩的比例和信源本身又很大关系,LZ都要80%以上,这个不现实,文件本身的信息量就在那里,不有损的话无法办到。
WinRaR主要是字典编码吧,你看压缩文件的属性那里可以看到有个字典大小~
2008-8-4 21:19
leeco
Rank: 4
等级:高级会员
威望:8
帖子:868
积分:9638
注册:2007-5-10

压缩率和文件内容有关,不可能保证压缩率的,这是显然的,否则我把压缩过的文件再压缩,再压缩,。。。,不是可以到无穷小了嘛
2008-8-5 23:45
共有 383 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050881 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved