常用字符集和编码
- ASCII 美国信息交换标准代码
编码规则: 7位表示一个字符,共128个字符
缺点:只能显示26个拉丁字母、阿拉伯数字和英文标点符号
- EASCII 欧洲扩展字符集
编码规则:8位表示一个字符,共256个字符
缺点:虽解决了部分西欧语言的字符显示问题,但对其他更多的语言依然无力
- GB2312/GB2312-80 等中文字符集
编码规则:把127号的字符取消掉(即EASCII),两个大于128的字符连在一起表示一个汉字,高字节从 0xA1 到 0xF7, 低字节从 0xA1 到 0xFE
- GBK 中文字符集
微软对 GB2312-80 进行扩充后制定了 GBK 编码。
- Unicode 统一字符集
包含超过十万个字符,让电脑能够解析世界上数十种语言。
编码规则:使用4个字节的数字来表达字母、符号、文字。
Unicode 指的是字符集,而 UTF-32, UTF-16, UTF-8 则说的是编码方案。
- UTF-32
编码规则:用上述 Unicode 的4字节的数字来表达字母、符号、文字
- UTF-16
编码规则:
若字符编码 U 小于 0x10000, 也就是小于十进制的 65535,则使用2个字节表示;
若字符编码 U 大于 0x10000, 也就是大于十进制的 65535,则使用4个字节表示。
- UTF-8
是针对对 Unicode 的可变长度字符编码,可表示 Unicode 中任何字符,且编码中第一个字节与 ASCII 兼容。
编码规则是使用1到4个字节为每个字符编码:
128个 US-ASCII 字符只需用1个字节编码,从 U+0000 到 U+007F
带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等,则使用第2个字节编码,从 U+0080 到 U+07FF
其他基本多文中平面中的字符则使用3个字节编码
其他极少辅助平面中的字符则使用4个字节编码