压缩分类: 压缩后的数据可以复原的称为可逆压缩,无法复原的称为不可逆压缩
文件是将数据存储在磁盘等存储媒介上的一种形式,其以字节为存储单位,文件就是数据集合的字节
任何情况下:文件的字节序列都是连续存储的
RLE压缩算法: 将文件内容用 数据 X重复次数,从而实现数据压缩,常用于压缩传真图像等
哈夫曼压缩算法: 通过为各压缩对象文件分别构造最佳的编码体系,并以该编码体系为基础来进行压缩,用什么方式进行编码对数据进行分割,由各个文件而定,通过该压缩算法压缩后的文件中,存储着哈夫曼编码信息与压缩后的数据
哈夫曼树: 通过哈夫曼树构造编码体系,之后通过该编码就可以实现哈夫曼压缩算法,该树的核心是通过叶子结点来生成树根,通过降低出现次数多的表示位数,而进行大幅度压缩降低暂用字节数。
通过哈夫曼树编码后: 出现频率越高的数据所占用的数据位数越少,由于使用树枝连接数据从频率较少的开始,这就意味着频率越低的数据到达根部的枝条数越多,而枝条数越多,编码的位数也就是随之增加了可以表示更多数据,从哈夫曼算法压缩过的文件读取数据后,会以位为单位,对该数据进行排查,并与哈夫曼树进行对比看是否到达了目标编码。
注意: 文本文件不可以进行非可逆压缩,因为文本文件每个字符,数字都有具体含义,必须能够还原,否则就会出现损坏。