字符编码简介
ASCII 码
从学计算机的那天开始,老师就告诉我们在计算机里面,所有的英文字母都对应到一个数字编码,这就是 ASCII 码( American Standard Code for Information Interchange )。 ASCII 码是很久很久以前( 1968 年)制定的。它只使用了一个 8 位字节中的低 7 位,总共是 127 个编码位。这样的方案很快就不够使用了。
![](http://dl.iteye.com/upload/attachment/462849/e7f45f1a-0b79-31f6-b44e-77f430ad25f0.gif)
单字节编码的发展
在 80 年代早期,一些现在流行的标准(如 ISO 8859 和 Unicode )还未出现。那时为了支持多种地区的语言,各大组织机构或 IT 厂商开始发明它们自己的编码方案,以便弥补 ASCII 编码的不足。一时间,各种互不相容的字符编码方案成百花齐放之势。
为了避免混乱, ISO 组织在 1998 年之后,陆续发表了一系列代号为 8859 的标准,作为 ASCII 编码的标准扩展,终于统一了单字节的西方字符的编码。 ISO 是设在瑞士的国际标准化组织的简称( International Organization for Standardization )。
ISO-8859-1 ( Latin1 - 西欧字符)
ISO-8859-1 覆盖了大多数西欧语言,包括:法国、西班牙、葡萄牙、意大利、荷兰、德国、丹麦、瑞典、挪威、芬兰、冰岛、爱尔兰、苏格兰、英格兰等,因而也涉及到了整个美洲大陆、澳大利亚和非洲很多国家的语言。
此外, ISO-8859-1 后来被采纳为 ISO-10646 标准(后面会讲到)的首页,换句话说, Unicode 的最开头 256 个字符编码和 ISO-8859-1 是一一对应的。正是由于这个特殊性,使很多人产生了对 ISO-8859-1 编码的误用。
\
![](http://dl.iteye.com/upload/attachment/462851/717b5950-78b5-3f1a-a433-8aa131afbe1c.gif)
ISO-8859 标准还包括:
- ISO-8859-2 ( Latin2 - 中、东欧字符)
- ISO-8859-3 ( Latin3 - 南欧字符)
- ISO-8859-4 ( Latin4 - 北欧字符)
- ISO-8859-5 ( Cyrillic - 斯拉夫语)
- ISO-8859-6 ( Arabic - 阿拉伯语)
- ISO-8859-7 ( Greek - 希腊语)
- ISO-8859-8 ( Hebrew - 希伯来语)
- ISO-8859-9 ( Latin5 )
- ISO-8859-10 ( Latin6 )
- ISO-8859-11 ( Thai - 泰国语)
- ISO-8859-12 (保留)
- ISO-8859-13 ( Latin7 )
- ISO-8859-14 ( Latin8 )
- ISO-8859-15 ( Latin9 )
但是 ISO 8859 系列标准的字符编码,还是互不相容,不可能同时使用的。毕竟它们只是单字节的编码方案。而且,它们和多字节的编码方案如中文编码 GB2312 和 BIG5 也是不相容的。那些欧洲字符(最高位为 1 的字符),在 GB2312 和 BIG5 中被认为是双字节汉字编码的首字节。
多字节编码的发展
单字节编码只有 256 个码位( 28 =256 ),而中文字符何止千千万,单字节编码不可能满足中文编码的需要。于是为了适应东方文字信息处理的需要, ISO 又制定了 ISO 2022 标准( Character code structure and extension techniques ),提供了七位与八位编码字符集的扩充方法的标准。我国根据 ISO 2022 制定了国家标准 GB2311 —— 《信息交换用七位编码字符集的扩充方法》,并根据该标准制定了国家标准 GB2312-80 编码。其他东方国家和地区也制定了各自的字符编码标准,如日本的 JIS0208 ,韩国的 KSC5601 ,台湾地区的 CNS11643 等。
BIG5
BIG5 是从 CNS11643 的早期版本发展而来的,虽然没有包括 CNS11643 的全部内容,但却是目前台湾、香港地区普遍使用的一种繁体汉字的市场标准,包括 440 个符号,一级汉字 5401 个、二级汉字 7652 个,共计 13060 个汉字。
GB2312-80
全称是《信息交换用汉字编码字符集 基本集》, 1980 年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。
· 双字节编码
· A1-A9 :符号区,包含 682 个符号
· B0-F7 :汉字区
|