压缩数据

压缩文件扩展名:LZH
文件储存的基本单位:1字节=8位
文件内容用“数据的值*循环次数”是RLE算法
Windows计算机使用的SHIFT JIS字符编码,1个半角英数用1字节表示。
BMP格式的图像文件没有压缩过。
压缩后能复原的是可逆压缩,无法复原是非可逆压缩

文件是将数据存储在磁盘等存储媒介得一种形式。存储数据单位是字节(B=Byte)

RLE算法机制
把文件内容用“数据*重复次数” 例如:AAAAAABBCDDEEEEEF-A6B2C1D2E5F1
原文件17字节 压缩后12字节 即文件压缩了12%17 70%

RLE缺点:实际的文本文件,同样字符多次重复的情况不多见,RLE只能针对相同数据重复出现的情况

第二个压缩技巧:哈夫曼算法

莫尔斯编码:根据字符种类不同,莫尔斯编码符号的长度也不同,1为短点(嘀),11为长点(嗒)

莫尔斯编码把一般文本中出现频率高的字符用短编码表示

二叉树实现哈夫曼编码
用哈夫曼算法压缩过的文件,存储着哈夫曼编码信息和压缩过的数据
哈夫曼树:从叶生枝,然后生根。使用哈夫曼树,出现频率越高的数据所占用的数据位就越少。最终数字汇集在一个点上,该点就是根,即哈夫曼树完成,按照从根到底,左边的线处写0,右边写1.按顺序写就可以得到哈夫曼编码

例如: AAAAAABBCDDEEEEEF
频率(6)(5)(2)(2)(1)(1)
数据 A E B D C F
00 01 100 101 110 111
最终结果四十位 5字节 原本17字节 压缩率5%17=29%

图像文件使用目的是把图像数据输出到显示器
JPEG非可逆压缩,还原后图像信息一部分模糊
GIF虽是可逆压缩,但有色数不超过256色限制
TIFF不模糊但是比原始的BMP文件还大,因为TIFF格式由各种标签信息

posted @ 2024-02-21 12:41  狂暴之刃  阅读(33)  评论(0)    收藏  举报