RLE算法的机制

RLE算法的机制,接下来就让我们正式看一下文件的压缩机制。首先让我们来尝试一下对存储着AAAAAABBCDDEEEEEF这17个半角字符的文件(文本文件)进行压缩。虽然这些文字没有什么实际意义,但是很适合用来解说RLE算法的压缩机制。

由于半角字母中,1个字符是作为1个字节的数据被保存在文件中的。因此上述文件的大小就是17个字节。那么如何才能压缩该文件呢?大家也不妨考虑一下。只要能使文件小于17字节,我们可以使用任何压缩方法。

这时,大家是不是会采取将文件的内容用“字符×重复次数”这样的表现方式来压缩呢。确实,在观察AAAAAABBCDDEEEEEF这个数据后,不难看出有不少字符是重复出现的。在字符后面加上重复出现次数,AAAAAABBCDDEEEEEF就可以用A6B2C1D2E5F1来表示。A6B2C1D2E5F1是12个字符也就是12字节,因此结果就将原文件压缩了12字节÷17字节≒70%。恭喜你,压缩成功了!

像这样,把文件内容用“数据×重复次数”的形式来表示的压缩方法称为RLE(Run Length Encoding,行程长度编码)算法(图6-2)。RLE算法是一种很好的压缩方法,经常被用于压缩传真的图像等。因为图像文件本质上也是字节数据的集合体,所以可以用RLE算法来压缩。

RLE算法的机制
图6-2 通过数据的重复次数来实现压缩的RLE算法

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!