第(2/3)页 如101001000100001000001000000100000001 123456789012345678901234567890123456→作者避免自己看看得眼睛疼,所以使用数字在特定字体下宽度和高度是一样的方式,来进行作为标尺,数间隔多少位用的。 使用跳一位1的方式统计,结果如下: 奇数次1生效:偶数次1被当做0:1(中间有4个0,其中出现过一次1)1(中间有8个0,其中出现过一次1)1(中间有12个0,其中出现过一次1)+尾数00000001 偶数次1生效:头数10+1(中间有6个0,其中出现过一次1)1(中间有10个0,其中出现过一次1)1(中间有14个0,其中出现过一次1) 然后把这些数据比对合并,就能得出源数据。 使用跳两位1的方式统计,结果如下: 第一个1对齐:1(中间有8个0,其中出现过两次1)1(中间有17个0,其中出现过两次1)1+尾数00000001 第二个1对齐:头数10+1(中间有11个0,其中出现过两次1)1(中间有20个0,其中出现过两次1)1 第三个1对齐:头数10100+1(中间有11个0,其中出现过两次1)1(中间有14个0,其中出现过两次1)1+尾数000000100000001 也就是说,当1和0不连续的情况出现得越多,那么使用跳n个1(以及另一个注册表中跳n个0)的统计数据,n的取值越大,压缩比例越高;当1和0不连续的情况出现得越少,那么使用跳n个1(以及另一个注册表中跳n个0)的统计数据,n的取值越小(不排除n=0的情况),压缩比例越高; =数据对齐算法= 如: 101001000100001000001000000100000001 101010101010101010101010101010101010 100110011001100110011001100110011001 123456789012345678901234567890123456 第(2/3)页