什么是编码?
计算机底层只有0、1这两种数据,也就是二进制,说白了就是逻辑电路,接通和断开,两种状态,表现0、1两种状态。那我们现实中这么多丰富的表现,要如何构建在这个简单的0和1之上呢?像英文26个字母,a-z,计算机如何去定义a-z这些字母呢?假设我们来设计计算机,我们怎么来表示呢?可能最先想到的就是,0表示a,1表示b,10表示c,11表示d,101表示e,以此类推。
为什么会出现乱码?
为什么会出现乱码?可以理解成,中国一开始搞了一套编码,0代表中,1代表国,但是美国也搞了一套编码,0代表a,1代表b,这样,我们传输了这两个中国字符给美国朋友的时候,他们的计算机看到0、1,那对应的就是a、b。相同的数字,在不同的编码中代表的含义不同,用错误的方式打开了原有的编码,就产生了乱码。为了避免这种情况,所以就有了unicode字符集。
Unicode
Unicode是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。目前最新的版本为2017年6月20日公布的10.0.0,已经收录超过十万个字符。Unicode涵盖的数据除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。
*文字部分来自yaobaoss、Wikipedia
关于图片、视频又是怎么被0、1所代表的
我们知道视频本质上就是一幅一幅图片,通过连续的播放,就有了我们看见的视频。所以和图片一样,图片在经过放大之后,我们能看见一个一个的像素点,每个像素点都是一种颜色,比如000代表红色、100代表蓝色。