文件夹怎么变成压缩包_怎么新建文件

文件夹怎么变成压缩包_怎么新建文件来点干货!关于文件压缩的知识我的破习惯,东西都是以前的记忆。可能不严谨。但是尽量讲多点。首先讲rar的文件头。任何文件格式一般都有文件头。用于标识该文件的文件格式啦,如何打开啦,打开的软件版本啦等等,并不是很重要的东西,理论上来说删除也影响不大。不过文件头一般不占多少空间,稍微和要存储的数据一比,

来点干货!关于文件压缩的知识   我的破习惯,东西都是以前的记忆。可能不严谨。但是尽量讲多点。   首先讲rar的文件头。   任何文件格式一般都有文件头。用于标识该文件的文件格式啦,如何打开啦,打开的软件版本啦等等,并不是很重要的东西,理论上来说删除也影响不大。不过文件头一般不占多少空间,稍微和要存储的数据一比,简直可以忽略,所以文件头还是不要删除的好。   比如txt格式就是没有文件头的。你打开就可以看到第一个字前面没有文件头。但是有一个缺点。比如我用UTF-8格式保存的文件,用ASCII格式打开就可能出错。但是打开的时候软件又不知道你这个文件是用那种格式写的,因为没有文件头。所以这个文件头还是有作用的。   那么关于rar格式的文件头有些什么呢?哈哈哈哈,说句实话,我还真不太清楚,抱歉。不过我知道的一点,比较关键的一点。那就是每次rar压缩的时候都会生成两个大素数用于加密和压缩。有什么用呢?rsa加密算法了解一下。或者其它的算法,总之,这两个素数很重要。然后所有待压缩的数据用这两个素数来进行压缩或加密后得到新的数据。这些数据是可以通过解密算法得到原来的数据的,而且无损。   这两个素数有什么作用呢?一是加密,二嘛,就有点喜闻乐见了。因为每次压缩生成的素数都不一样,emmmmm,所以每次压缩后的文件其实都是不一样的,也许里面压缩后的数据是一样的,但是文件头里面的素数是肯定不一样的人,因为它是临时生成的。就造成了每次压缩同一个文件后得到的rar压缩包都不一样。MDK5和hash值都不一样。那么你向百度云存了一个视频被删除,再上传后一样会被删除,但是你压缩以后它删除的话,你重新压缩一下,它就不会删除了。   具体的,这个素数在压缩的时候是如果有密码,那么一定是有用的!哪怕你用同一个密码,每一次压缩出来的文件都会完全不相同!   如果你不赢密码,rar会怎么用这些素数?说真的,我忘了。如果它用了,那么肯定每次文件内容一定不一样。如果它没用那么可能文件内容一样,文件头不一样。   而关于加密,我简单的说一点吧,就是把要加密的数据^一个数得到的数再除以那两个素数的积,的余数就是加密后的数据了。这是rsa的加密算法,我举个例子而已,rar的加密算法好像没有这么丧心病狂。但是你也应该注意到了,余数与素数有关。所以加密后的数据基本上只要素数变化,结果也是天翻地覆。   以上是我关于rar文件头的解释。应该可以给大家解答足够多的困惑了。如果还感兴趣,可以上网搜一下。   接下来就是压缩部分了,这玩意是真的难。我真的只能说我只知道原理,一个大概而已。   首先,一种很简单的压缩方法。0000000000000000000(20个0)我们可以直接压缩成20个0,如果是1000个0连在一起,那你知道该怎么压缩了吧?如果是1000个0中间第598个的位置是个1,压缩也不会太难吧。可是如果1出现的位置多了一点,压缩难度也就慢慢上去了,那假设500个0,500个1规律的这样隔一个出一个的排我们也可以很简单的压缩吧,如果其中某一个位置,1和0位置换了,不过只有一个,也不难吧?其实最难的是1和0完全混乱的排在一起,没有规律,那才是最难得。而这个混乱度,是有一个专门的名词——熵!物理学,数学,化学都有它大名鼎鼎的身影。扯远一点说,它与时间还是绑定的!怕了吧?   现在进阶一点,上面这种都比较简单了。我们来点有难度的,有一种方法是,把文件里面足够长的、一样的、出现次数多的东西找出来。比如这个字符串出现的最多,我们可以用一个字符来直接代替它!那样这串代码就被我们压缩了很多倍,出现次数第二多的字符串用尽量短的人字符串代替,如此类推,做一个目录,以后你遇到1就找目录,找到了那一串长字符串,带进去即可。可是这也不算最好的,如果某一串字符足够长,虽然出现的次数不是最多,但是如果压缩它先用最短的字符。压缩会更好的话,还是可以考虑的,用算法计算一下就行的事情。   而关于多个文件,其由于存储算法的原因,它会多占用一些空间,比如你新建一个文件夹,它内部没有文件,它的体积也是1kb,为啥呢?首先每个文件夹都有一个名字,这个名字可以是一个字符,也可以是很长的一段字符。如果你最开始用了1个字符,可是后面你要改成一长串字符,那一串字符存在哪儿呢?存在另外的磁盘位置?可是离这个字符太远,读取的时候就需要磁盘磁头去找,而存附近?早写满数据了,而且有一个目录区,还得浪费空间记忆那后面的数据写在什么位置。。那还不如我在最开始的那一个字符前面空出一长串空间,随便你以后怎么改。压缩多个文件的时候 就可以把这些数据多余的丢掉。   还有的算法,比如像生命游戏,或者分形一样,只存储一个简单的开始值,再通过一个公式,迭代多少次,刚好得到你那个混乱的数据。不过这种压缩基本不可能实现。也就国外那些64kb的demo大赛会有用到。这个东西举例子就比较麻烦。想讲清楚有点困难。大家多查查也就行了,如果有人想要,到时我再详细的讲一下。   至于说还有其他的算法,我只能说我也不清楚,不过我记得好像是有的,只是我没懂,所以当时没记住。   但是它都是有极限的,就是我之前说的——熵!混乱度,如果一串数据,它几乎没有什么规律,里面出现次数最多的字符串都很短,相同的字符串最长的也只重复几次,而且长度很短呢?这种几乎可以说没发压缩了。   其实所有的压缩算法,都不可能达到完美的熵的最低,不过现在的压缩算法已经可以达到非常接近这个极限了。   所以说,压缩文件是有极限的。越压缩,体积也不会继续减少。由于rar文件头的素数的特殊关系,越压缩文件会越大。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/61071.html

(0)
上一篇 2024年 8月 29日 下午1:14
下一篇 2024年 8月 29日 下午1:18

相关推荐

关注微信