1.编码字符集:编码字符集是对字符个体描述的集合。因为计算机只能处理二进制信息,所以我们需要制定一种规则:把现实世界的字符集合一 一映射为二进制数集,即为编码字符集(你可以理解为计算机眼中的字符形式)。 而字符集合的大小、一 一映射的方式的不同,将产生各种各样的编码字符集,例如: ASCII, Unicode, GBK
2.字符编码: 虽然我们已经为字符对应了一个二进制数,但是为了更好的计算机中存储、传输,我们需要再对编码字符集的二进制数进行编码。例如Unicode编码下有多种编码方式:UTF-8, UTF-16, UTF-32
从这里我们可以看到,Unicode中每个二进制数占4个字节,如果0000000000 - 0000007F(H)范围的二进制数都用原本的方式存储,就会极大浪费空间(原本xx(H)就足够表示了,所以需要进一步编码来减小空间。
3.字库集:字库是对字符视觉形态描述的集合。(编码字符集中的二进制数就是对应字体在字库的中地址)
4.三者的关系: 如果我想显示计算机中‘a'这个字符,我需要先把在计算机中存储的二进制数用正确的方式解码为编码字符集中的的二进制数,在根据该二进制数找到字库中对应的字体显示出来。