一个二维码能装10T电影?看样子我都能改变世界了。( 二 )
文章图片
整个字符串非常的冗长 , 密密麻麻的挤在一起 , 只是看起来就已经很费眼睛了 。 但是在仔细观察后 , 可以发现在字符串中存在着多个重复的字符串「abc」 , 「aac」以及「abd」 。
文章图片
那么只要我们建立一个对照翻译表 , 用「 1 」代替字符串「 abc 」 , 用数字「 2 」代替字符串「 aac 」 , 用数字「 3 」代替字符串「 abd 」 。 整个字符串可以简化为了「 112323 」的数字串 , 相较于原始字符串已经精简了许多 。
文章图片
如果更进一步 , 用「Ⅰ」代表「11」 , 用「Ⅱ」代表「23」 , 这样字符串还可以精简为「 Ⅰ Ⅱ Ⅱ 」 。
文章图片
电脑里的压缩文件过程原理大概就是如此 , 只不过实际上文件不是只有字符串 , 而且数据量比这个大得多 。 解压缩的原理自然也很容易想到 , 回到前面的例子中 , 我们只需要对照翻译表将数字重新还原 , 就能够得到原始字符串 。
文章图片
这样一套操作逻辑就叫做字典编码算法 , 所谓的翻译对照表也就是算法中的「字典」 , 不论是什么压缩算法 , 都得带着这本「字典」 , 也就是解码参数 。
文章图片
当然聪明的你可能已经发现了 , 这本字典完全可以换个方式写:我们还可以将字符串分解成 abc abc acca bd acca bd, 就又得到了一种全新的压缩方式 。 不同的压缩方式对应不同的文件格式 , 我们常见的有 rar/zip/7z 等等 , 其实就是在告诉电脑这是用什么方式压缩的 。 而相应的的翻译工具 , 则就是常见的压缩软件 , 相信不少人都被这张图骚扰过↓
文章图片
理论上来说 , 我们可以搞一波智障操作 , 这么写翻译表:abcabcaacabdaacabd = 1, 整个字符串只用一个数字就能代替了 。 但这么干的话 , 字典本身的大小就和原文一样了 , 再加上压缩后的数字 , 信息量反倒变大了 。
文章图片
换成现实比方 , 就意味着你把一个 1 KB 的文件反向压缩成了一个 1.1 KB 的玩意儿 , 所以说这是波智障操作 。。。 所以说这事儿挺不简单的 , 目前为止工程师们研究出了很多方法 , 最快的压缩效率也只是接近 2 : 1。
推荐阅读
- 酒业|换届!保护知识产权 “护航”中国酒业再出发
- 川菁食品|自热小火锅的崛起,如何在“拥挤”的市场环境下脱颖而出
- 漫说健康|赖宝突发心梗去世:猝死前这4个“求救信号”,收到一个能保命
- 如今|女子因一个电话爱上了杀人犯,如今还和对方在监狱里举行婚礼
- 宠物圈|这群野山羊“占领”了英国的一个小镇,因此全世界闻名
- 生命|每一个生命打算离开时都发出过求救信号
- 法制|男子当街抢劫,漯河民警一个“反手折臂”
- 青豆妈美食|教你做特色美食萝卜肉圆,一个城市的记忆,大小菜馆必备的一道菜
- 玩家|《青春有你3》玩家曝光都是熟悉的面孔,以团之名来自一个团队?
- 明星八卦|娱乐圈“身高不够,颜值来凑”的男明星,每一个都让人心动不已
