怎么工作 文字 怎么变成数字
前面说过,计算机只认识数字。可我们在键盘上打的是字,屏幕上显示的也是字。只懂数字的机器是怎么处理文字的?这一课我们就往里看一看。
每个字符都有编号
秘密比想象中简单。
人们聚在一起,给每个字符定好了编号。
比如A是65号,B是66号。
所以你在键盘上按下A,传给计算机的不是字母,而是数字65。
点一个字符,就能看到它的编号。
从A到Z的大写字母,还有小写字母、数字和符号,都有各自的编号。
这种给字符编号的约定叫作ASCII码。
它是计算机处理文字时最早被广泛使用的对照表。
编号再变成0和1
回想一下上一课:计算机连数字也是用0和1存的。
所以65这个编号,最后也是存成8个开关的开和关。
一个字符就变成了8个0和1。
A是65号,这个编号再变成8个0和1。
所以一个英文字符通常占8个开关,也就是1字节。
“字节”这个词,指的就是8个一组,在这里第一次出现。
文字说到底也是0和1。
打开对照表看看
下面就是ASCII对照表的实际样子。
字符按编号顺序排好,每个字符旁边都写着它的编号。
大写A是65,小写a是97,数字0是48。
同一个字母,小写的编号比大写大32。
有意思的是,大写和小写字母正好相差32。
A是65,a是97。
这不是巧合,而是为了让计算机方便地切换大小写,特意这样规定的。
8个开关不够用
8个开关能表示256种情况。
英文字母、数字和符号全放进去,还有空余。
这是英语国家定的约定,所以一开始这样就够了。
从0到255,一共256种。
可世界上不只有英语。
韩文光音节字就超过一万个,汉字更有好几万个。
再加上表情符号,256个根本不够。
于是需要新的约定。
大字符要多用几个字节
解决办法很简单。
一格不够,就多用几格。
在最常用的UTF-8编码里,英文还是1字节,韩文一般占3字节,表情符号占4字节。
这张给世界上所有字符编号的巨大对照表,叫作Unicode(统一码)。
不同的字符占的格数不一样。
所以同样是一个字,占的地方却不一样。
一个英文字母占一格,一个韩文字占三格。
我们数消息字数和计算机数出来的结果不一样,原因就在这里。
一句话说到底也是一串数
这次把短短一行整个拿来看。
每个字符变成编号,编号再变成0和1。
我们发出的每条消息,往里看都是这样长长的一串数。
计算机眼中的Hi这两个字母。
把文字显示到屏幕上时,这个过程就倒过来。
先读出0和1,算出编号,再到对照表里找到这个编号对应的字符画出来。
在我们眼里是文字,里面从头到尾都是数。