发布网友 发布时间:2022-04-23 02:19
共2个回答
热心网友 时间:2023-10-11 11:49
经过压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,就是把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间.
二进制与ASCII编码
电脑里基本的存储单位是字节。ASCII码是一种以字节为单位对常用符号进行编码的方案,因其合理性而较为流行。因为一个字节有8位,所以ASCII最多可对2^8=256个字符进行编码,其中前128个称为标准ASCII码(二进制编号00000000-01111111),后128个称为扩展ASCII码(二进制编号10000000-11111111),电脑里的汉字就是利用两个扩展ASCII码的组合来实现的(GB2312汉字编码方案)。比如汉字“王”占用的两个ASCII编码分别是205和245,十六进制表示是CD和F5,化为二进制就是11001101和11110101。也就是说,在电脑处理“王”这个汉字时,电脑里的信息是“1100110111110101”这样一串数字。再如大写的英文字母“A”的ASCII编码是65,十六进制表示是41,在电脑里的信息实际上是“01000001”。
【缩位压缩】
知道了上述原理后,我们来介绍“缩位压缩”的原理。“缩位”,就是缩减编码里没有必要使用的“位”。例如文件里一个汉字也没有,也就是说内容中没有使用扩展ASCII码,这样所有字符编码的第七位(最前面那一位)将都会是0。利用这一点我们就可以缩掉这一位,假设文件内容是ABCDEFGH。
文件内容: ABCDEFGH
二进制内容:01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000
压缩后文件内容: [该内容中文状态下显示是乱码,故无法写出]
二进制内容:10000011 00001010 00011100 01001000 10110001 10100011 11001000
这个压缩过程就是将原来顶头的0全部去掉后每8位重排,这样原来占用8个字节的文件就只占用了7个字节。只要解压时再加上第七位的0,文件就可以恢复原样。这一压缩技术特别适用于对数字的压缩。因为0~9这十个阿拉件数字占用的ASCII编码是从00110000-00111001,其前四位全部都是“0011”。
热心网友 时间:2023-10-11 11:50
所谓的文件压缩,就是把生成文件时的空格去掉、把冗余的二进制代码简化,当然这也有一定的局限的。