要使用字典压缩算法,必须找到一个好的压缩字典。这个字典中的词在原始数据中出现的次数要足够多。出现的愈多的词,压缩比应该越大。
使用字典压缩实现起来比较简单,效率也比较高。但是一个问题是,当压缩和解压缩不是在同一个地方的时候,很难保证同时更新。当不能保证同时更新的时候就对压缩字典的稳定性就有更高的要求。也就是说,不管针对什么原始数据,压缩比的波动幅度不要太大。
使用了分级的压缩字典。统计得到了三个压缩字典,字典的词数目逐渐增加,能压缩的字节数却是逐渐减少。类似于3级Cache的原理,在第一个字典中出现的词的概率大,但是字典的词比较少;在第3个字典中出现的词的概率最小,但是字典中词的个数最大。
我使用的字典压缩算法,是对一个特定的数据做的,其数据都是字母和数字,所以压缩效果还比较好。