编码方式

位宽

字符集

备注

ASCII

7位

英文字母、阿拉伯数字、标点符号等

 

GB2312

/ EUC-CN

 

双字节等宽

01-09区:符号数字区

16-87区:汉子区(简体)

10-15,88-94区:空白区

还包括希腊字母、日文平假名及片假名字母、俄语西里尔字母等字符

1、       区位码=区号+位号(共94区+94位)

GBK

双字节等宽

GBK还收录了GB2312不包含的 汉字部首符号、竖排标点符号等字符

1、     GB2312的超集,完全向下兼容GB2312

2、     低字节占用了ASCII的编码空间

3、     如果考虑兼容ASCII,也可以看成单双字节变长编码

CP936

 

双字节等宽

 

1、和GBK的有些许差别,绝大多数情况下可以把CP936当作GBK的别名

GB18030

变长编码,有单字节、双字节和四字节三种方式

世界大多民族的文字符号都被收录在内

向下兼容GBK、GB2312

2、单字节编码完全等同与ASCII

双字节编码的范围和GBK相同

BIG5

双字节

繁体汉字

1、低字节占用了ASCII的编码空间

ISO-8859-1/Latin1Latin-1

单字节

除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。(欧元符号

例外)

1、在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题

ISO 10646标准

31位

BMP基本包括了所有语言中绝大多数字符,所以只要支持BMP就可以支持绝大多数场合下的应用。

1、     前两个字节的位置:基本多语言面(Basic Multilingual Plane, BMP)

2、     超出两个字节的范围称作辅助语言面

UCS字符集(Unicode字符集)实际应用中的具体编码方式:

UCS-2

双字节等宽

等同于BMP

 

UCS-4

4个字节等宽

BMP+辅助语言面

 

UTF-8

单字节(8位)

 

1、UTF-8完全和ASCII兼容

2、UTF-8的编码的传输过程中即使丢掉一个字节,根据编码规律也很容易定位丢掉的位置,不会影响到其他字符

UTF-16

变长编码(16位)

 

 

1、是UCS-2的超集,UTF-16编码的两字节编码方式完全和UCS-2相同,也就是说在BMP的框架内UCS-2完全等同与UTF-16。