分享

0和1是如何创造整个数字世界的?

 无忧吴尤 2018-10-09



此时此刻,屏幕前的你正准备看下面这个.mp4的视频。


或许就在刚才,你还听了一首.mp3的音乐,拍了张.jpg的照片,读了本.txt的小说,下了部.avi的电影。


所有这些纷繁复杂的数字文件,在本质上都只是一串串由0和1所组成的代码。



那么0和1,究竟是如何创造出这个有趣的世界的呢?


 

   视频

↓↓ 看完这个视频就知道了 ↓↓



↑↑ 信我,真的超级好看 ↑↑


   图文版


首先我们需要先简单了解一下二进制,这是数字世界里的基本规则。


人有十个手指头,但计算机电路却只有通和断两种状态。所以,满十进一位的计数方式更适合人类,而满二进一的二进制更适合计算机:


只需要0和1两个数字,就可以传递一切信息。



比如,十进制的2 用二进制表示就是10 (一零)  十进制的3二进制就是11(一一)。二进制和十进制在表达的意思上并没有什么区别,只是长相不同而已。



看到这里,我们来做一个小测试,如果你能读懂了这句话,那么恭喜你,你已经懂了二进制。



接下来的问题就是,如何才能把一串看似毫无规则的0和1,变成我们熟悉的图片和音乐呢?



以图像为例,.bmp是windows系统中的标准图像文件格式。


在你手机或电脑的某个角落里有这样一串数据


开头16位翻译过来,就是BM两个字母,也就是是bmp文件开始的标识。紧随其后的,是图片的各项基本信息。


比如现在这张图片,长宽都为55个像素,颜色深度24位,意思是说,每个像素点的颜色,都是由24个0和1所组成的数据来表示的。



再往后就是图像数据的本体了。


这里最开始的24位都是1,意思是说,图像的第一个像素中,有最大强度的红绿蓝三种颜色,所以这个像素显示为白色。



而接下来的24位前八位是1后面都是0,那么第二个像素就是纯纯的红色。




第三个24位的前16位为1,最后八位为0,所以第三个像素就是红色和绿色调和出来的黄色。



根据这样的规则,最终可以填满了整个55乘55的格子,得到一张完整的图片。



所以,一个bmp图像文件中的这些0和1,就是在逐个记录图像中每一个像素点的颜色。


与之类似,wav格式的音频文件中,一秒被分成441000个时刻点,文件的数据记录着每个时刻点上声音的振幅,最终连线,形成一道完整的声波。



大多数情况下,我们接触到的文件都和上面这两个例子一样:


文件中0和1按照人们事先设计好的规则排列好,只需找到正确的打开方式,按照特定的规则来解读这些数据,就可以获取其中的信息。



但问题来了,我们怎么知道某个文件中的0和1究竟是按什么规则排列的,又要用怎样的方式来解读它呢?


这就涉及到视频开头我们提到的那些扩展名了。


在文件的名字后面加几个特定的字符组成的扩展名,就可以帮助系统辨认出文件的类型,从而提示电脑去按照某种特定的规则,来正确解读其中的信息。



明白了这个原理,我们就可以做一些有趣的事情。


比如有一个文件,他的数据只有一行,翻译过来长这样。


(copy/b 柴.jpg+柴.rar =柴.jpg)


如果把文件扩展名改成.txt,系统就会把它当做一个普通文档打开。



但如果把扩展名改为.bat,文件打开后就会自动执行这么一个命令:


把同一文件夹下,事先准备好的这张图片和这个压缩文件,合并成一个文件。



当你直接打开这一文件时,因为扩展名是.jpg,所以系统会把它当做一张JPG格式的图片进行解读,你看到的就是之前准备的那张图片。


但如果打开之前把它的扩展名改成.rar,这样你就可以打开隐藏在那张图片下面的 事先准备好的压缩文件了。



至于压缩文件里放什么内容,那就是留给各位自由发挥的空间了。(邪魅一笑~)



注:

1、绝大多数文件都会有一串用来描述“数据本体”的元数据,它一般以一串标识身份的“magic number“开头,其后包含了文件的各项基本信息和基本的解读规则,非常复杂,视频中的例子只表现了其中部分数据。

2、视频中重点表现01和我们接触到的数字文件之间的关系,实际上中间还有复杂的编码过程。

3、计算机显示的颜色是红绿蓝(RGB)加色法三原色,和绘画颜料 红黄蓝的减色法三原色不同。

4、生活中我们接触到的数字文件一般是经过了有损压缩的文件,和BMP、WAV等无损文件相比,它们的体积更小,但解读数据的方法往往复杂难懂。

5、最后的柴.jpg相当于把两个文件的数据整合到了一起,不同的打开方式会先在这堆数据里找到各自的“magic number” ,接着解读之后的数据。








    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多