IO包中的类层次关系图:
一开始计算机在美国使用,用到的字符也只是键盘上的一些符号和少数几个特殊的符号,每个字符都用一个数字来表示,一个字节所能表示的数字范围内足以容纳所有的字符,实际上表示这些字符的数字的字节最高位都是0,也就说说这些数字都在0~127之间,这种字符和数字对应的编码固定下来后,这套编码规则被称为ASCII码。
随着计算机逐渐应用和普及,许多国家把本地的字符集引入了计算机,这大大扩展了计算机中字符的范围,一个字节所能表示的数字范围是不能容纳所有的中文汉字的。中国大陆将每一个中文字符都用两个字节的数字来表示,原有的ASCII码字符的编码保持不变,仍用一个字节表示。为了将一个中文字符与两个ASCII码字符相区别,中文字符的每个字节的最高位都是1,中国大陆为每一个中文字符都指定了一个对应的数字,并作为标准的编码固定下来,这套编码规则称为GBK,后来在GBK的基础上对更多的中文字符进行了编码,新的编码系统就是GBK2312.
为了解决各个国家和地区使用各自不同的本地化字符编码带来的不便,人们将全世界所有的符号进行了统一的编码,称之为Unicode编码。
转载于:https://blog.51cto.com/alentain/887986