文章目录
一、字符编码和字符集
1、字符编码(character encoding):
字符编码是一种法则,在数字与符号之间建立的对应关系。不同的国家有不同的语言,包含的文字、标点符号、图形符号各有不同。例如在ASCII编码中,用数字97表达字符’a’与字符集相对应,常见的字符编码有ASCII,GBK,GB18030,Unicode等。
2、字符集(Character set)
字符集是字符的集合,字符是文字和符号的总称,用ASCII编码的字符集称之为ASCII字符集,用GBK编码的字符集称之为GBK字符集。
3、国际编码(Unicode)
为了解决传统的字符编码方案的局限,1994年发布了Unicode(国际编码、统一码、万国码、单一码、通用码),它是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 将全世界所有的字符统一化,统一编码,再也不存在字符集不兼容和字符转换的问题。
Unicode 有以下三种编码方式:
1)UTF-8:兼容ASCII编码;拉丁文、希腊文等使用两个字节;包括汉字在内的其它常用字符使用三个字节;剩下的极少使用的字符使用四个字节。
2)UTF-16:对相对常用的60000余个字符使用两个字节进行编码,其余的使用4字节。
3)UTF-32:固定使用4个字节来表示一个字符,存在空间利用效率的问题。
二、汉字的编码
1、汉字的编码
支持汉字(简体中文)的编码有GB2312、GB13000、GBK、GB18030和Unicode(UTF-8、UTF-16、UTF-32)。
1)GB2312
仅包含大部分的常用简体汉字,但已经不能适应现在的需要。
2)GB13000
由于GB2312的局限性,国家标准化委员会制定了GB13000编码;但由于当时的硬件和软件都已经支持了GB2312,而GB13000与GB2312完全不兼容,所以没有能够得到大范围的推广使用。
3)GBK
有了GB13000的教训,中国国家标准化委员会制定了GBK标准,并兼容了GB2312标准,同时在GB