数据压缩技术

数据压缩技术的分类

数据压缩算法主要分有损压缩和无损压缩两种。无损压缩就是能够完全还原的压缩算法. 而有损压缩就是不能完全还原的压缩算法。

最小长度的Huffman编码

Huffman编码就是一种最优的前缀编码(也是最小的编码)。它实现的基础是在已经知道每个字符出现的比例或者概率。

LZ77字典压缩算法的原理

LZ77压缩算法就是使用的动态创建字典方法。也就是说,字典信息就是前面压缩信息本身。
比如说下面一串字符号
AABAABAAB,我们发祥地里面有三个重复出现的AAB,但是我们只要保存一个AAB就可以了,然后其它两个出现AAB的地方只需要把第一个出现AAB的位置和长度存储下来就可以了。那么我们保存后面两个AAB就只需要一个二元数组<匹配串的相对位置,匹配长度>。解压的时候,我们根据匹配串的相对位置,向前找到第一个AAB的位移,然后再根据匹配长度,直接把第一个AAB复制到当前解压缓冲里面就可以了。如果压缩时找不到之前相同的信息(也就是可匹配的信息),那么我们就直接输出这段信息到压缩缓冲里面,然后移下下段要压缩的信息。

你可能感兴趣的:(数据压缩技术)