信息之所以可以被压缩,是因为存在冗余信息。例如有以下4个字节的数据:
00000000 00000011 10000000 11111111
这是一串由“0”和“1”组成的数据,“0”和“1”的重复次数很多。若我们用一个字节表示连续的数字及其个数,每个字节的第1位表示是“0”还是“1”,每个字节的后面7位表示“0”或“1”连续出现的次数,因为有7位,所以可以表示从0到127之间的任一整数;若“0”或“1”重复的次数超过127,则再用一个字节。这样,上述数据可压缩为如下4个字节表示(二进制代码):
00001110(14个“0”) 10000011(3个“1”) 00000111(7个“0”) 10001000(8个“1”)
按照上述方法,把下列2个字节的数据进行压缩。
原数据:11111111 11111111压缩后可表示为: