1、标准ASCII只使用7个bit,扩展的ASCII使用8个bit
2、 ASCII码包含一些特殊空字符,不能打印。
3、ASCII码是ANSI码的子集, ANSI编码是一种对ASCII码的拓展: ANSI编码用0x00~0x7f
(即十进制下的0到127)范围的1个字节来表示1个英文字符,超出一个字节的0x80~0xFFFF范围来表示其他语言的其他字符。
也就是说, ANSI码仅在前128 (0-127 )个与ASCII码相同,之后的字符全是某个国家语言的所有字符。
4、在简体中文的Windows系统中, ANSI就是GB2312,
ANSI编码其实包括很多编码:中国制定了GB2312编码,用来把中文编进去另外,日本把日文编到ShiftJIS里,韩国把韩文编到Euc-kr里,各国有各国的标准。
5、为了解决不同国家ANSI编码的冲突问题,Unicode应运而生:如果全世界每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode,就像它的名字都表示的,这是一种所有符号的编码。
Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符。现代操作系统和大多数编程语言都直接支持Unicode
6、值得注意的是unicode编码中一个中文字符占2个字节,而UTF-8一个中文字符占3个字节。从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。