作者:不详
gb系列如:gb2312,gbk和gb18030。
GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字 区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。
因为GB2312 支持的汉字太少,1995年制订了汉字扩展规范GBK1.0,它收录了21886个符号,将分为汉字区和图形符号区。汉字区包括21003个字符。
到了2000年,又制订了GB18030,它是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少 数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。从ASCII、 GB2312、GBK到GB18030,这些编码方法是向下兼容的。
unicode系列是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是”Universal Multiple-Octet Coded Character Set”,简称为UCS。UCS可以看作是”Unicode Character Set”的缩写。UCS规定了怎么用多个字节表示各种文字,UCS有两种格式:UCS-2和UCS-4。顾名思义,UCS-2就是用两个字节编码,UCS -4就是用4个字节(实际上只用了31位,最高位必须为0)编码。
而怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的,常见的UTF规范包括UTF-8、UTF-7、UTF-16。在Linux上主要就是UTF-8。所谓的UTF-8就是以字节 为编码单元来实现UCS。之所以出现这么一个传输编码,是因为早期的标准形成的联网设备会“吃掉”特定的字节,Unicode是个连续编码没有回避这些字 节,在传输时会出现丢字节的现象,所以搞了个UTF好跳过这些特定的字节,同时可以压缩Unicode编码中与ASCII码兼容部分。

暂无评论