原文链接: 程序员必备:彻底弄懂常见的7种中文字符编码
ASCII、GB2312、GBK、GB18030、UTF8、ANSI、Latin1
关系
ASCII
ASCII编码每个字母或符号占1byte(8bits),并且8bits的最高位是0,因此ASCII能编码的字母和符号只有128个。
GB2312,GBK
2个字节,中文编码
GB18030
4个字节,中文编码
UTF8
字母和符号占1字节,中文占3字节
Unicode赋予了全世界所有文字和符号一个独一无二的数字编号,UTF8所做的事情就是把这个数字编号表示出来(即解决前文提到的第2件事情)。UTF8解决字符间分隔的方式是数二进制中最高位连续1的个数来决定这个字是几字节编码。0开头的属于单字节,和ASCII码重合,做到了兼容.
ANSI
准确说,并不存在哪种具体的编码方式叫做ANSI,它只是一个Windows操作系统上的别称而已。在中文简体Windows操作系统上,ANSI就是GBK
Latin1
又名: ISO-8859-1
Latin1在ASCII基础上又充分利用了后面那128个值,赋予他们一些泰语、希腊语等字母或符号,将1个字节的256个值全部占满了