文件压缩的原理

哈喽大家好,我是狗蛋,今天我们继续来分享计算机的冷知识压缩文件到底是什么原理?为啥有些文件可以压缩的很小?

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图

我经常会解压和压缩一些文件    但是在解压或者压缩的时候我们有时候会遇到有些文件,在还没有压缩时是1个G大小压缩之后就却只有几十兆大小,而有些文件压缩之后大小几乎没有变化。

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图1

接下来我们来一起了解压缩文件到底是什么原理?为啥有些文件可以压缩的很小?

在了解压缩原理之前我们先来,了解数据的大小,我们前面的文章和大家探索过了,电脑上的数据本身就是有0和1组成的,1个0或者1个1的大小就是1bit,8bit也就是我们说的1字节。

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图2

到这里有的小伙伴就会问了,狗蛋一个字节有多大呀,我们新建一个文本框。在属性里可以看到现在文本大小是0字节。这个时候我们输入一个英文字母看看,我们看,一个英文字母的大小是一字节,那我们在输入一个汉字看看,发现一个汉字是2字节。

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图3

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图4

压缩文件到底是什么原理?为啥有些文件可以压缩的很小?插图5

既然一个汉字大小是2字节如果我们输入512个汉字也就是1024字节,那么1024字节就是1kb,也就是512个汉字大小就是1kb,另外英文字母,标点符号,数字每个都是1字节,常见的汉字和中文标点符号都是2字节,了解这个之后我们再来看压缩是怎么回事。

我们假设这句话是没有压缩的原文件

原文件(66字节):我今天要去奶奶家吃饭,明天也要去奶奶家吃饭,后台还要去奶奶家吃饭。   我们来看这句话一共是30个汉字,三个标点符号我们已经知道每个汉字和中文标点符号的大小是2字节,所以这句话大小是66字节。而我们压缩原理简单说,就是找规律或者找相同的地方。

上面这句话”去奶奶家吃饭 “这六个字后面又完全一样的,重复出现了两次,而我们压缩就是把复杂的都东西简单化。”去奶奶家吃饭这“六个字重复出现了三次,一共占了36个字节,我们完全可以把”去奶奶家吃饭这“这六个字用其他东西表示,比如用数字1来表示,今天我要1了,明天也要1,后台还要1。这样就只要33个字节了。

又比如原文件是26个英文字母

原文件(26字节):ABCDEFJHIJKLMNOPQRSTUVWXYZ   ABCDEFG一直到Z。咱们压缩的话就可以压缩成A-Z,3个字节

我们来看下面这串数字

原文件(57字节)

123456789101112131415161718192077777777777777778888888888咱们可以压缩成1-20,15个7,10个8.

所以通过前面举的几个例子我们就大概了解了压缩的原理,就是找规律找相同的地方然后简化掉,而我们文件压缩率有多高,或者我们文件能被压缩到多小,主要还是在文件本身内容,如果文件本身重复的东西特别多,自然可以被压缩很小,如果文件重复程度不是很高的话,自然就会出现文件大小几乎没有变化的情况。

我举个例子:原文件(25字节)李狗蛋喜欢打篮球! 亢奋中¥

压缩完( 25字节)李狗蛋喜欢打篮球! 亢奋中¥

压缩完( 25字节)李狗蛋喜欢打篮球! 亢奋中¥

上面这段话本身就没有什么规律和太多重复的地方,自然很难被压缩了。

文章最后我给大家分享一个小知识ZIP、RAR、7z压缩文件

ZIP特点:

ZIP拥有更高的普及率,压缩和解压的速度更快;

RAR特点:

RAR通常情况比ZIP压缩率高,但压缩和解压缩速度较慢;

支持分卷压缩,压缩后分区为多个文件;

支持固实压缩,把要压缩的视为同一个文件以加大压缩比,代价是取用包中任何文件需解压整个压缩包;

恢复记录:加入冗余数据用于修复,在压缩包本身损坏但恢复记录够多时可对损坏压缩包进行恢复;

加密:RAR 5.0使用AES-256CBC,目前均未被直接攻破(至少没有公开),没有密码时只有暴力破解;

7z特点:

支持256位AES加密、多线程压缩与解压缩;

支持动态文件大小(分卷)压缩;

7z压缩率高于ZIP,速度和压缩强度略高于RAR;

文章到这里就结束了大家是不是有所了解呢?后面我会更新其

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值