“If I have seen further, it is by standing on the shoulders of giants.”

  首先,我们来介绍计算机如何用二进制来表示文字。

  为了让一串0,1能够代表特定的文字,人们规定使用一个字节中的七位来表达特定的文字,这就是大名鼎鼎的ASCll(American Standard Code for Information Interchange)码,ASCll码能够表达27=128种字符(编码从0~127),对于26个英文字母和一些常用的可打印字符,这完全足够了。

AudioSegment 读取二进制文件 二进制音频文件_码表


  可是,世界文化是多元的,面对类似汉字这样的象形文字,ASCll码表用起来自然是捉襟见肘。穷则思变,一个字节不行,那就两个字节,这就是大名鼎鼎的Unicode码,不难看出,Unicode码有216=65536种表示方式,这样就足以表达一些常用的字符了,值得一提的是,Unicode码算是在ASCll码上的一种扩充,其第0~127个编码字符与ASCll码表一模一样。(注:Unicode码有多种标准,这里只是笼统地介绍了其中一种)

  计算机又是怎么用二进制又是怎样表达图片的呢?原来,人们规定,在计算机中,每一种颜色都对应一个二进制数值,图片存储时,图片上每一个像素点对应一个值,再将图片的长宽等属性保存下来,最后经特定算法压缩,就形成了特定格式的图片。基于此,我们又将1秒化为24帧(通常情况下),这样,一张张间断的图片在我们眼中便形成了动画。

  以上都是对于看得见的数据基于二进制进行表示,那么计算机是怎么通过二进制来保存音频这种看不见,摸不着的数据呢?这里就用到了模拟音频技术,模拟音频技术中以模拟电压的幅度表示声音强弱, 其在时间上是连续的,而在计算机中,人们将这种连续的信号离散,以某一间距用二进制数来记录特征点,最后将所取的特征点连起来便还原了音频。

AudioSegment 读取二进制文件 二进制音频文件_特征点_02