压缩解压器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行实现: 运行实现:
优点: 优点:
• 游程长度编码在栅格加密时,数据量没有明显增 加,压缩效率较高,且易于检索,叠加合并等操 作,运算简单,适用于机器存贮容量小,数据需 大量压缩,而又要避免复杂的编码解码运算增加 处理和操作时间的情况 • 在多媒体信息量激Байду номын сангаас、网络特性和速度都飞速提 高的今天,游程长度编码是一种十分简单的压缩 方法,编码/解码的速度也非常快,可广泛应用 于多媒体信息的存储,传输。
举例实现: 举例实现:
• 111111222222233333333 可以压缩为: (1,6),(2,7),(3,8)
关键代码分析: 关键代码分析:
• 打开一个文件(fopen) • 检测流上文件结束符(feof),不是最后一个字 符可以循环。从流中读取字符(fgetc)比较,相 同的话计数加一,不同的话,送前一个字符 (fputc)去输出的流中,扩展函数(itoa),再 向文件写一个数据块(fwrite),这样既可输出压 缩后的(M,N)形式。 • 检测如果是最后一个字符或两个不相等那么跳出 循环。 • 最后关闭一个流(fclose) • 解压为逆过程
演讲结束 O(∩_∩)O谢谢 谢谢
压缩器/解压器 压缩器 解压器
编辑人——吴亮(嵌入式1091)
题目概要: 题目概要:
• 为了节省存储空间,常常需要把文本文件采用压缩 编码方式存储。例如: 一个包含 1000个X的字符串 和2000个Y的字符串的文本文件在不压缩时占用的 空间为3002字节(每个X或每个Y占用一个字节,两个 字节代表文件用来表示字符串的结尾).同样是这个 文件,采用游程长度编码,可以存储为字符串 , , 1000X2000Y,仅为10个字符.占用12个字节,若采用 2进制表示,则更加节省空间,上例中的字符串用8个 字节来存储,当要读取编码文件时,需要对其解码,由 压缩器对其编码,解压器对其解码. • 要求:用游程-长度编码实现
概要设计 :
• 首先要了解长度游程编码: 游程长度编码是栅格数据压缩的重要编码方 法,它的基本思路是:对于一幅栅格图像,常常 有行(或列)方向上相邻的若干点具有相同的属性 代码,因而可采取某种方法压缩那些重复的记录 内容。其编码方案是,只在各行(或列)数据的代 码发生变化时依次记录该代码以及相同代码重复 的个数,从而实现数据的压缩。