



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于无损压缩技术的文件压缩与解压系统 郝雪燕摘要:信息时代带来了“信息爆炸”,海量数据的产生给系统运行带来极大的压力,仅仅依靠计算机的硬件设备渐渐有些难以容下海量数据文件,压缩文件可以在一定程度上节约空间,以便使用者在有限的空间存储更多的文件。数据组织方式不同,数据量不同,但是信息量基本相同,为了节省数据存储空间或者提升信息的传递效率,把数据结构理论与算法应用到数据压缩中,已经变得越来越重要。本文设计了一个基于无损压缩技术的文件压缩与解压系统,经过测试,成功压缩和还原了源文件,实现了预期目标。关键字:无损压缩;文件压缩;解压引言数据是信息的
2、载体,数据压缩是信息量基本不变的情况下,降低数据量的核心技术。所谓数据压缩技术,顾名思义就是压缩数据存储占据的空间,以实现便于传输、处理以及节省储存空间的目的。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。而无损压缩是相对于有损压缩来讲的,无损压缩方式的特点在于可以最大限度地保持数据的完整性。数据压缩技术主要通过以下两种方式来实现:一种是压缩数据空间;另一种是依靠算法实现原始数据的重整以精简空间。数据压缩技术本质上是一种编码技术,换言之,是利用不
3、同的数据组织方式表达相同的含义、携载基本相同的信息量。从源文件到编码文件的映射过程就是数据编码,类似于文本、图像、声音等等形式的源文件在计算机中都是以二进制的形式存储的,不同之处在于不同形式的源文件具体的二进制表示方法不同。1 数据压缩算法无损数据压缩适用于文本文件、数据库、程序等数据压缩, 其特点是数据经过压缩和解压后,可以完全与压缩前的数据一样。无损数据压缩算法按照压缩模型主要分为两类:基于统计压缩算法和基于字典压缩算法。基于统计压缩算法主要包括:游程长度编码、哈夫曼编码、算术编码;基于字典的压缩算法主要包括:lz77算法、lz78算法、lzw算法和lzss算法。就当前的技术而言,使用无损
4、压缩最大可以将数据文件的大小减少1/2-3/4。目前使用最为广泛的压缩技术是lzw和哈夫曼这两大类压缩算法,本文采用的是哈夫曼编码技术。哈夫曼编码是最为传统和典型的无损压缩技术。算法的原理为:用二进制的方式来表示每一个符号,数据的长度表示为某些特殊符号出现的频率次数。对于经常使用的符号,选择的二进制就短一些,而一些使用频率较低的符号则可以适当地加长。哈夫曼算法可以确保字符的二进制编码情况已经将数据空间压缩到极致,任何修改都难以对其空间进行进一步压缩。但是该算法并没有将符号之间的排列顺序、重复出现等情况作为处理的重点。根据ascii码的规定,一个字符由8个比特表示,但是如果提前知道了文件中各个字
5、符出现的频率,就可以对这些字符重新编码。哈夫曼编码的使用过程主要如下:第一步就是对整个原始文件进行扫描,统计每个字符的频率,然后根据频率建立哈夫曼树,由哈夫曼树构造得到每个字符的编码。由于频率高的字符在哈夫曼树中离根更近,它们的哈夫曼编码长度更短;相反,频率低的字符的编码更长。最后,用哈夫曼编码替换原文件中的字符。2 数据解压算法解压是压缩的逆过程,不同的压缩算法对应特定的解压算法,也就是说,数据是怎么压缩的,那么就怎么解压。因此,进行数据压缩时就要提前考虑解压的实现。比如,进行哈夫曼编码压缩数据时要使用一个哈夫曼树将数据转换为对应编码,那么压缩时就要存储这颗编码树,解压时根据存储的信息重新构
6、建出这颗编码树,将编码转换为对应的数据。在进行解压时第一步就是从相应的文件中获得数据压缩时的一些重要信息,通过这些信息重现压缩过程,然后推导出解压步骤,完成数据的复原过程。3 文件压缩与解压系统的设计在研究过一些压缩和解压算法后,使用java编程语言设计并实现了一个文件压缩与解压系统。本系统主要包括七个主要功能:(1)前台界面:给予用户可视化界面,方便管理。(2)解压缩控制:控制文件的压缩和解压,如:一键解压,一键压缩等。(3)文件控制:添加文件到某个压缩包或在某个压缩包内删除某个文件。(4)语言控制:用于各国语言和中文的转换。(5)搜索:在压缩包里方便找到某个文件或文件夹。(6)创建自解压文
7、件:有的时候,本项目更需要的是创建自解压文件,这样就可以随时随地地调用它,而不需要压缩软件的支持。创建自解压文件的方法也很简单,在设置压缩文件属性的图2窗口的"general"页面中,勾选"create sfx archive"(创建自解压文件),你会发现刚才的*.rar变成了*.exe。(7)生成分卷自解压文件 :在进行数据备份或大文件交换时,通常采取用压缩软件分卷压缩到软盘上的办法,而在复原的时候则需要用到该压缩软件,否则这些压缩文件便无法复原。 首先在主界面中选定欲压缩的文件夹或文件,单击鼠标右键,从快捷菜单中选"add to archi
8、ve"命令,出现小窗口,先将压缩文档名称填入,需要带路径(如a:文件名)。然后从容量(volume size)下拉菜单中选择与软盘对应的数值。有360kb、720kb、1.2mb、1.44mb、2.88mb和自动检测六个备选项,也可以输入自己设定的数值。在文档选项区内选中"自解压"(sfx archive)方式,最后单击,则开始进行分卷压缩,生成的第一个文件扩展名为.exe,第二个文档扩展名为.r00,第三个为.r01,依此类推。复原时,先插入第一张软盘,执行?.exe文件,随后会提示依次插入其他软盘,则顺利地完成解压缩。4 测试现在压缩技术发展较好,也因此产生了
9、很多性能非常好的压缩软件,如winrar、7 2、快压、360压缩和好压等。这些压缩软件在压缩率、压缩时间和支持的文件格式等方面都有着不错的表现。通过使用本文设计的基于无损压缩技术的压缩与解压系统将一个由doc、xls、txt、pdf文件组成的大小为6.3mb的文件夹进行压缩和解压,分析程序可用性和实用性。经过测试发现,成功压缩和还原了源文件,实现了预期目标。5 结束语本文对数据压缩与解压过程进行了简单的论述,通过了解一些常用的压缩算法,可以帮助理解数据压缩与解压的实现原理。目前数据压缩算法多种多样,在这些基础算法上进行一些改进又可以产生很多不同的算法,例如可以改进压缩链码提高压缩效率。常用的压 缩软件也是基于这些压缩算法实现的,可以结合使用,算法的选择会对系统最终的压缩效果产生直接的影响。参考文献1汪帅,吕江花,汪溁鹤等.一种支持数据去冗和扩容的多媒体文件云存储系统实现j.计算机研究与发展
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级下语文教学设计太阳是大家的
- 邵东二中考试试卷及答案
- 山西高二联考试卷及答案
- 三原职教高考试卷及答案
- 2025至2030年中国贵金属清洗机市场分析及竞争策略研究报告
- 硅冶炼原料选择与配料计算考核试卷
- 矿产勘查项目管理流程与效率提升考核试卷
- 经济型酒店品牌竞争策略考核试卷
- 毛皮服装设计与时尚趋势预测考核试卷
- 社会人文与消费者行为考核试卷
- 《特斯拉汽车供应链管理》课件
- 内河船舶船员基本安全知识考试题库300题(含答案)
- 无人机操控 教学设计公开课教案教学设计课件
- 2024 年普通高等学校招生全国统一考试新课标 I 卷-数学试卷-全国
- 《瑞幸咖啡财务造假案例分析》8400字(论文)
- 安全生产法律法规注册安全工程师考试(初级)试题与参考答案(2024年)一
- (试卷)2024贵州省初中学业水平考试·物理
- 云南省职业技能大赛(健康照护赛项)理论参考试题及答案
- 自然辩证法论述题146题带答案(可打印版)
- DB43T 2534-2022 电力气象服务技术规范
- 工程合伙人协议书范文模板下载电子版
评论
0/150
提交评论