字符集与字符编码

有几个概念需要先搞清楚。

  1. 字符集:能够表示所有字符的集合。其中每一个字符都在字符集中有唯一的位置(即码位也称字符码)。

  2. 字符编码:一种具体的编码方式,用来对字符码进行存储(即二进制的实际表现)。

    虽然一种字符集的字符码是唯一的,但是,由于计算机存储数据通常以字节为单位,而且出于兼容ASCII码,节省存储空间的原因。通常会有多种编码方案,来对字符码进行编码。

    比如unicode字符集,就有utf-8,utf-16,utf-32三种编码方案。

    eg:‘永’这个字的字符码是6C38(10进制为27704,也就是说,用这个字是unicode字符集中的第27704个字符),但是在不同的编码方案下,二进制是不同的。

utf-8 E6B0B8 (二进制1111 0110 1011 0000 1011 1000) 3个字节

utf-16 6C38 (二进制0110 1100 0011 1000) 2个字节

utf-32 00006C38 (二进制0000 0000 0000 0000 0110 1100 0011 1000) 4个字节


你可能感兴趣的:(字符集与字符编码)