本文共 3601 字,大约阅读时间需要 12 分钟。
LZW的原理:
初始化字典为255个字符,随着压缩的过程,字典一步步扩充,最终把全文本转换成字典的id序列,再用变长编码的方法,把id序列编码成二进制。
编码方法:0-254用8位表示,255到510用9位表示,......
当第一次需要编码9位的时候,插入255表示升位,此后0-510都用9位表示,......
因为代码是用string来操作的,所以额外加了对于/0的编码,保证算法的通用性。
压缩率:大概在1024:420左右
代码:
#include "compress.h"#include
转载地址:http://lloxz.baihongyu.com/