四、计算机编码转换过程
4.1、概述
正因为计算机只能表示“01”的逻辑概念,无法直接表示图片以及文字,所以我们需要一定的转换过程。
这其实就是我们按照一定的规则维护了字符-数字的映射关系,比如我们把“A”抽象成计算机中的“1”,当我们看到1的时候就认为这是“A”,本质上就是一张映射表,理论上你可以随意给每个字符分配一个独一无二的编号(character code,字符编码)。
比如下表这样:
接下来我们来看下一个文字从“输入-转码存储-输出(显示/打印)”的简单流程。
首先:我们知道计算机是美国人发明的,规则是美国人定的,键盘上的按键也都是英文字母,所以编号不是你想怎么分配就怎么分配。对于英文字母的输入,键盘和ASCII码之间是直接对应的,键盘按键“A”对应的编号“65”,存储到磁盘上也是“65”的二进制直译“01000001”,这很好理解。
但是:对于汉字输入就不是这么回事了,键盘上可没有汉字对应的输入按键,我们不可能直接敲出汉字字符。于是就有了输入码、机内码、字形码的转换关系,输入码帮助我们把英文键盘按键转换成汉字字符,机内码帮助我们把汉字字符转换成二进制序列,字形码帮助我们把二进制序列输出到显示器成像。
带你读《全景揭秘字符编码》之四:四、计算机编码转换过程(2) https://developer.aliyun.com/article/1241079?groupCode=tech_library