首页 > 8 其它知识 > GB、UTF及其中各编码方案的理解

GB、UTF及其中各编码方案的理解

2011年9月23日 AEROFISH 1,663 views 发表评论 阅读评论

计算机识别文字需要用特定的编码来实现,常见的有GB2312、GBK、UTF8、UTF16等。种类太多,这里我整理了一些资料。

一、字符集

1、世界范围通用的Unicode字符集,包含了世界上的大部分文字系统。

2、国内适用的简体、繁体字符集。

二、编码

字符集需要用特定的编码才能被计算机识别。

1、UTF(Unicode Transformer Format)

Unicode用UTF编码。

UTF常见的分为UTF8、UTF16、UTF32。

Unicode定义了上百万个字符,如果将所有的字符用统一的格式表示,需要用4个字节。这就是UTF32,为Linux操作系统的默认方案。

但是绝大部分字符只使用2个字节就可以表示了,真正需要扩展到4个字节来表示的字符少之又少,这就推出了UTF16。如要适用4字节的字符时,就将两个UTF16的空间拼起来用。

UTF16还分为UTF16-LE和UTF16-BE两种。LE指Little Endian,而BE指Big Endian,为字符内码的高低位排序。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是Big Endian;将49写在前面,就是Little Endian。Windows操作系统的默认编码是UTF16-LE,常被称呼为Unicode编码。

对于欧美地区,实际上编码只需要1个字节就可以表示,因此就产生了UTF8的编码方式。这是一种很灵活的编码,对于只需要1个字节的字符,就使用1个字节;对于中日韩等原本需要2个字节才能表示的字符,则通过一个UTF16-UTF8的算法实现相互之间的转换,一般需要3个字节才能表示;而对于需要4个字节才能表示的字符,UTF8可以扩展到6个字节每字符。

2、GB、GBK、BIG5

简体中文一般用GB2312-1980编码,大陆地区常用。

繁体中文一般用BIG5编码,港澳台地区常用。

1980年推出了GB2312-1980,共收录了7445个字符,包括6763个汉字和682个其它符号。

1995年的汉字扩展规范GBK1.0收录了21886个符号,是对GB2312-1980的扩展,简体、繁体都收录了。(K就是“扩”的拼音首字母。)

2000年的GB18030-2000取代GBK1.0。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,支持Unicode的CJK基本集、CJK兼容集、CJK扩充集A。(CJK为Unicode的中日韩文字集。)

2005年推出了GB18030-2005标准,支持CJK扩充集B、将Unicode的BMP(基本多语言平面)映射到GB18030的4字节区,这样就实现了Unicode与GB18030的无损转化。


本文对我无帮助,减1分本文对我有帮助,加1分 (本文对您有帮助吗?)
Loading ... Loading ...

分类: 8 其它知识 标签: , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.