计算机的世界,如果没有编程语言,那我们看到的就只有“1”和“0”组成的一大串数字,不谈解决问题,光是理解就需要很长时间。编码语言就相当于是我们去计算机的世界所需要的翻译软件,把我们想表达的意思传达给计算机,把计算机所表达的意思翻译成我们理解的语言。
1、二进制
我们所知的计算机是以二进制为基础运行,以“0”和“1”进行运算,但实际上这些也只是我们人为给它取的名字,如果拆开计算机硬盘,里面便是有凹有凸的盘面,凸的地方是磁化部分,凹的部分是非磁化部分,所以“0”和“1”其实都是电流脉冲信号,二进制这个词只是我们根据人类的数学逻辑所抽象出来。
2、编码的转换
上面所说的概念,如果你理解了,那我们现在所看到的计算机的文字、图像等,又是怎么来的呢?
这个时候就需要编码的转换了,英文的输入其实相对好理解一些,输入的每个英文字母,都会对应ASCII码中的一个编号的二进制直译。但是汉字就要复杂一些,键盘上不能直接打出相应的汉字,所以就会用到输入码、机内码、字形码进行转化,首先在键盘上输入,会对应一个输入码,输入码通过字符编码转换成一个机内码,计算机会在内部进行处理和储存,形成我们所需的字库及所对应的字形码,最后才呈现出我们屏幕上所看到的文字。
3、编码模型
传统编码很好理解,就是将将字符先用十进制编号再对应一个二进制码,计算机在处理上就是查找表和转换表的过程。
现代编码就不同了,使用的是Unicode编码模型,分为抽象字符集ACR、编号字符集CCS、字符编码方式CEF、字符编码方案CES。
ACR是一个无序的集合,这里的字符是抽象的,不仅包括我们所能看到的字符,也包括一些我们所看不到的无形字符;
CCS是就是对上面的字符进行编号,表达在另一个集合里,且一般以方便我们理解的十进制、十六进制来表达;
CEF是将我们理解的字符,翻译成计算机能懂的字符的过程;
CES也叫做“序列化格式”,就是将编好码的数值,更加容易的放在计算机中进行处理和存储等工作。
那么,说了这么多,你是否对编码的理解更深了呢?希望本篇文章对你有所帮助。