字符、字符集和字符编码
- 一个汉字、一个拉丁字母、一个数字。世界上各种语言里的字和标点符号都属于字符。
- 一堆字符组成的集合叫做字符集。
- 为了让计算机识字,就把这些字符用 0 和 1 表示出来,把字符转换成 0 和 1 的规则叫做字符编码。
- 字符集其实就是编码的对象。字符集、编码在语言含义上相同,即UTF-8字符集、UTF-8编码都是一个意思。
字符编码过程
选定一个字符集,让字符们排排坐,再把座位序号转换成二进制,这个座位序号叫做码位,座位的总数叫做码空间。码空间越大,字符集就越大。
ASCII字符集及ASCII编码
美国信息交换标准代码(ASCII) 总共收录了 128 个字符,包括大小写、拉丁字母、数字、常用标点以及像 escape、 换行这种看不见的控制字符。
EASCII字符集及EASCII编码
- 扩展美国信息交换标准代码 (EASCII) 也就是用剩下的这 128 个空位来表示其他的字符。比如上方有重音符号的法语字母、西班牙语里的特殊标点、数学上常用的阿尔法、 beta 等希腊字母以及一大堆特殊符号等等,这时候问题就已经开始冒头了。
- 各国搞的 esk 字符集合编码,后面 128 个字符都不太一样,一共搞出了 200 多种EASCII 互不兼容。就算是同样一串二进制书,在不同的 ES key 中对应的字符也不同。原理就是固定座位上坐的字符不一样。
GB2312字符集及GB2312编码
- 我国 1980 年公布的 GB 2312 杠 80 信息交换用汉字编码字符集