文件就是字节数据的集合,如果文件中储存的数据是文字,该文件就是文本文件。如果是图形,该文件就是就是图像文件。
在半角字母中,一个字符是作为一个字节的数据保存在文件中AAAAAABBCDDEEEEEF 可以用A6B2C1D2E5F1 表示。A6B2C1D2E5F1是12个字符也就是12字节,因此结果就将原文件压缩了12字节/17字节=70%。像这样,把文件内容用“数据乘重复次数”的形式来表示的压缩方法称为RLE算法
RLE算法也有缺点,他不适合文本文件的压缩
哈夫曼算法“多次出现的数据用小于八位数的字节来表示,不常用用的数据则可用超过八位数的字节来表示。不管是不满八位数的数据,还是超过八位数的数据,最终都需要以8为单位保存在文件中
莫尔斯编码一般把文本中出现频率高的字符用短编码来表示,这里所说的出现频率,不是通过对出版物等文章进行统计得来的,而是根据印刷行业印刷的活字,在实际莫尔斯密码中,如果短点的长度是1,长点的长度就是3,短点和长点的间隔就是1.
在哈夫曼算法中,通过借助哈夫曼树构造编码体系,即使在不使用字符区分符号的情况下,也可以构建能够明确进行区分的编码体系。也就是说,利用哈夫曼树后,就算表示各字符的数据位数不同,也能够做成可以明确区分的编码。
能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩状态的压缩称为非可逆压缩。压缩算法的种类大概有一二十种,之所以会存在如此多的算法是因为压缩比率,压缩处理所需要的时间