相信很多看过JOJO的朋友都对一句话相当熟悉。(打死)
嗯,今天聊聊压缩方式。
0
文件以字节为单位保存
在说压缩机制前,先了解一下保存在文件中的字节形式。文件大小之所以用KB、MB表示,就是因为文件以字节为单位保存。
1
RLE算法
RLE算法就是用“字符×重复次数”的方式压缩,比如压缩字符串AAAAAABBCDDEEEEEF就存成A6B2C1D2E5F1。我们再看原字符长17字节,而压缩后是12字节,12÷17≈70%,这样就压缩成功了。
RLE算法应该说是最简单的压缩算法了,符合考虑压缩算法时的第一反应——合并重复项。但是这种算法实际应用却不多,原因很简单,字符多次重复出现的情况并不多见,而且,对一个7位字符串ABCDEFG,会存成A1B1C1D1E1F1G1H1一共14个字节,压缩率反而成为100%。
这里提RLE算法的原因是其逻辑简单,容易想到,有一定参考价值并且真的太太太容易编写了。
2
摩尔斯编码
<