解密0101:信息在计算机中的奇妙旅程

作者: 刘家宝

如果问起身高的单位是什么,你自然会想到厘米或米;如果问起存储在计算机中的信息的单位是什么,你能脱口而出还是有些犹豫?你会想到什么呢?

在当今这个信息时代,我们使用手机、计算机等设备来记录和存储生活中的点点滴滴,于是有了文字、图片、声音、视频等各种形式的信息。这些信息在手机或计算机中是如何存储的呢?笔者将通过解密一封特殊的信来回答这一问题。

计算机“眼中”的文本

这封“见字如面”的信比较长,内容也比较特殊,只有0和1。它会包含哪些信息呢?这就需要我们一起来解密这些0和1。

解密0101:信息在计算机中的奇妙旅程0
图1
解密0101:信息在计算机中的奇妙旅程1
图2

在信的第一行,有5段01串(仅由数字0和1组成的字符串),每段有8位0或1。计算机中的存储单位是字节,一个字节等于8个二进制位。什么可以用一个字节来存储呢?ASCII码。对照图3这张表,信的第一行那5段01串,就对应着字符“Dear:”。

标准ASCII码表中定义了大小写英文字母、数字等字符在计算机中的编码,是用一个字节来存储的。表中的每个字符,除了二进制数,还有十进制数、十六进制数。这3种进制数其实表示的是同一个数值,十进制、十六进制可以方便我们阅读和理解。如小写字母a,用十进制表示是97,用十六进制表示是61,用二进制表示则是01100001。这3个进制数,可以使用计算机中自带的计算器(图4)来进行转换。

解密0101:信息在计算机中的奇妙旅程2
图3
解密0101:信息在计算机中的奇妙旅程3
图4
解密0101:信息在计算机中的奇妙旅程4
图5

信的第二行,每段有16位0或1,正好对应两个字节的编码存储,会是汉字吗?汉字会有类似的ASCII码表吗?

计算机“眼中”的汉字是0和1,我们眼中的汉字应该是图5这样的。因为汉字数量众多,所以编码表被分为多个区域,要找一个汉字,得先找到区号,再看它在这个区中的哪个位置。例如“宝”字,它在编码表中的区域编号是B1(区域编号位于表的左上角),在B1区的A行5列,所以“宝”字的编码就是B1A5。这是十六进制数,存储到计算机中,还要转换成对应的二进制数。

对于信的第二行5段16位01串,你可以先用计算器转换成十六进制数,然后对照图5,找出对应的5个汉字——“我是冰墩墩”。图5只是汉字编码表中的一小部分,如果某个字符在编码表中没有,则会出现乱码。因此,就有了涵盖世界上主要文字字符的全球共享编码字符集Unicode。

计算机“眼中”的图像

图6是计算机“眼中”的冰墩墩,将0替换成白色、1替换成黑色,就变成我们眼中的冰墩墩(图7),这里的每个黑点或白点就是一个像素,对应着0或1。图7这张冰墩墩的宽度有100个像素点,高度有50个像素点,总共用了5 000个像素点。和图8中36万个像素点的冰墩墩对比一下可以发现,要让图像更清晰,同样尺寸下,像素点越多越好。现在手机厂商宣传手机的拍照效果时,一个重要的参数就是摄像头的像素。

黑白冰墩墩图中,每个像素点只用一位二进制位记录颜色,所以只有两种颜色可选,如果每个像素点多用些二进制位记录,可选的颜色就多些。例如使用8位二进制位进行记录,就有256种颜色(28=256)。除了黑白色,还有黑白之间的过渡色——灰色,图9中的冰墩墩就是8位灰度图。我们常见的是24位的真彩色,图10就是24位真彩色的冰墩墩。

解密0101:信息在计算机中的奇妙旅程5
图6
解密0101:信息在计算机中的奇妙旅程6
图7
解密0101:信息在计算机中的奇妙旅程7
图8
解密0101:信息在计算机中的奇妙旅程8
图9
解密0101:信息在计算机中的奇妙旅程9
图10

图像中的每个像素点记录颜色所用二进制的位数,称为“图像量化位数”,又称“图像深度”,图10的量化位数就是24位。

一般情况下,图像的大小跟图像的分辨率以及图像量化位数有关,计算公式:位图图像文件大小=图像分辨率×图像量化位数÷8(单位为字节)。

根据公式可以计算出,一个5 000万像素、24位真彩色的图片大小,大约为143MB(兆字节)。因此,也不能片面追求高像素,它会占用很大的存储空间。实际生活中,我们拍出的5 000万像素照片只有几十兆字节,那是对照片进行了压缩。常见的图片格式jpg,其实就是图像压缩技术标准的名称。

计算机“耳中”的声音

那封特殊的信中有01编码的文字、图像,会有声音的编码吗?

我们知道,声音是一种波。冰墩墩图像后面还有那么多的01数字串,选择其中的一小部分,先转换成熟悉的十进制数,在坐标轴上标记下来,连成线,曲线中添加的点越多,曲线就更细腻,更接近声音的波形图,如图11所示。将全部的点添加好后,利用声音处理软件展示类似的波形,就可播放出声音了,信中的声音内容是“交个朋友吧”。

对照刚才还原声音波形的过程,反过来想,如何把声音存储到计算机中呢?

解密0101:信息在计算机中的奇妙旅程10
图11

首先是采样,把声波按适当的时间间隔,得到各个时刻的样本。从图上可以看出,一定时间内,采的点越多,则描出的曲线和波形图越接近。计算机使用采样频率来表示,常见的CD音质的采样频率是44.1kHz(1秒采集44 100个样本点)。样本点有了,接着就用数值来具体衡量这些点,这个过程称为“量化”。量化位数的多少,同样决定了声音的质量(坐标轴纵轴的动态范围)。如果就用1位二进制来进行量化,量化等级只有两个。量化等级越多,表示范围就越广,就越能还原真实声音的波形。最后,把量化后的值转换成对应的二进制数,这就是编码。

总的来说,一个声音存储到计算机中,需要3个步骤:采样、量化和编码。采样频率越大、量化位数越多,越能接近真实的声音,但是也带来一个问题,就是文件也会变得越大,计算公式:声音的大小=采样频率×量化位数×声道数×时间÷8(单位为字节)。真正存储到计算机中时,还需要对声音进行压缩,常见的音频文件MP3就是一种音频压缩技术。

在这封信里,还可以添加视频的编码,可以结合图像和声音的编码来操作。当然,实际的编码要复杂得多。

(特约编辑:孙晓明)

经典小说推荐

杂志订阅