简明现代魔法 -> 数据库技术 -> 字符集的概念与常用字符集介绍

字符集的概念与常用字符集介绍

2009-08-21

字符集的概念

字符集,或称字集,是指文字的集合;将固定数目的文字编序,以方便作通讯、教育、资讯处理等用途。

字符集通常有两种,一是专为电脑资讯处理而设,如:ASCII、Unicode、GB 2312、大五码(Big5)、CNS 11643等。一是作其他用途的,如教育用的生字表、通讯用的电报码等。

字符集和编码(Encoding)不同。字符集只是文字的集合,不一定适合作网络传送、处理,有时须经编码(Encode),将字符对应至所属的特定二元表示法后,才能应用。如CNS 11643和GB 2312可以使用ISO/IEC 2022、EUC等标准编码。Unicode可依不同需要以UTF-8、UTF-16、UTF-32等方法编码。有些字符集如Big5通常不须额外编码即可使用,故Big5既是字符集又是编码。

ASCII

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符,控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符,包含用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。

GB 2312

GB 2312或GB 2312-80是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集·基本集》,又称为GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。

GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。

对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,这导致了后来GBK及GB 18030汉字字符集的出现。

GBK

GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan11)中“扩”字的声母。GBK 来自中国国家标准代码GB 13000.1-93。

1993年,Unicode 1.1版本推出,收录了中国大陆、台湾、日本及韩国通用字符集的汉字,总共有20,902个。

中国大陆订定了等同于Unicode 1.1版本的“GB 13000.1-93”“信息技术 通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面”。

由于GB 2312-80只收录了6763个汉字,有不少汉字,如部分在GB 2312-80推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。中文电脑开发商,于是利用了GB 2312-80未有使用的编码空间,收录了所有出现在Unicode 1.1及GB 13000.1-93之中的汉字,制定了GBK编码。

根据西方资料,GBK最初是由微软对GB2312的扩展,也就是CP936字码表 (Code Page 936)的扩展(原来的CP936和GB 2312-80一模一样),最初出现于Windows 95简体中文版中,由于Windows产品的流行和在大陆广泛被使用,中华人民共和国国家有关部门将其作为技术规范。注意GBK并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。虽然GBK收录了所有Unicode 1.1及GB 13000.1-93之中的汉字,但是编码方式与Unicode 1.1及GB 13000.1-93不同。仅仅是GB 2312到GB 13000.1-93之间的过渡方案。

Big5

Big5,又称为大五码或五大码,是使用繁体中文(正体中文)社群中最常用的计算机汉字字符集标准,共收录13,060个汉字。

中文码分为中文内码及中文交换码两类,Big5属中文内码,知名的中文交换码有CCCII、CNS11643。

Big5虽普及于台湾、香港与澳门等繁体中文通行区,但长期以来并非当地的国家标准,而只是业界标准。倚天中文系统、Windows等主要系统的字符集都是以Big5为基准,但厂商又各自增删,派生成多种不同版本。

2003年,Big5被收录到台湾官方标准的附录当中,取得了较正式的地位。这个最新版本被称为Big5-2003。

“五大码”(Big5) 是在1984年,台湾13家厂商制作开发五大中文套装软件,由中华民国财团法人信息工业策进会为五大中文套装软件所设计的中文内码,所以就称为Big5中文内码,虽然五大套装软件并没有成功,但随着采用Big5码的国乔中文系统及倚天中文系统先后在台湾市场获得成功,使得Big5码深远地影响正体中文计算机内码,直至今日。“五大码”的英文名称“Big5”后来被人按英文字序译回中文,以致现在有“五大码”和“大五码”两个中文名称。

Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如IBM 5550、王安码等,彼此不能兼容;另一方面,台湾当时尚未推出官方的汉字编码,而中国大陆所推行的GB 2312编码,亦未有收录繁体字。在这样的时空背景下,为了使台湾早日进入信息时代,所采行的一个计划;同时,这个计划对于以台湾为内核的亚洲繁体汉字圈也产生了久远的影响。

Big5产生前,研发中文计算机的朱邦复认为这套内码收字过少,在资策会内码会议提出采用他的五万多字的字库。工程师已肯定其技术可行,但在1983年朱邦复被诬为共产党,资策会因此放弃其研究成果。

在Big5码诞生后,大部分台湾的计算机软件都使用了Big5码,加上后来倚天中文系统的高度普及,使后来的微软 Windows 3.x等亦予以采用。虽然后来台湾还有各种想要取代Big5码,像是倚天中文系统所推行的倚天码、中华民国中文电脑公会所推动的公会码等,但是由于Big5字码已沿用多年,因此在习惯不易改变的情况下,始终无法成为主流字码。而台湾以后发展的国家标准中文交换码(CNS 11643)由于先天所限,必须使用3字节来表示一个汉字,与现行英语软件欠缺兼容,所以普及率远远不及Big5码。

在1990年代初期,当中国大陆的电子邮件和转码软件还未普遍之时,在深圳的港商和台商公司亦曾经使用Big5系统,以方便与总部的文件交流、以及避免为大陆的办公室再写一套不同内码的系统。在使用简体中文社群,最常用的是GB 2312、GBK及其后续的国标码(GB 18030)。

现在,除了台湾外,其他使用繁体汉字的地区,如香港、澳门,及使用繁体汉字的海外华人,都普遍使用Big5码。这已经成为繁体中文显示的标准格式。

UTF-8

UTF-8(8 位元 Universal Character Set/Unicode Transformation Format)是一种针对 Unicode 的可变长度字符编码。它可以用来表示 Unicode 标准中的任何字符,且其编码中的第一个字节仍与 ASCII 相容,这使得原来处理 ASCII 字符的软件无须或只须做少部份修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他储存或传送文字的应用中,优先采用的编码。

UTF-8 使用一至四个字节为每个字符编码:

128 个 US-ASCII 字符只需一个字节编码(Unicode 范围由 U+0000 至 U+007F)。

带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要二个字节编码(Unicode 范围由 U+0080 至 U+07FF)。

其他基本多文种平面(BMP)中的字符(这包含了大部分常用字)使用三个字节编码。

其他极少使用的 Unicode 辅助平面的字符使用四字节编码。

对上述提及的第四种字符而言,UTF-8 使用四个字节来编码似乎太耗费资源了。但 UTF-8 对所有常用的字符都可以用三个字节表示,而且它的另一种选择,UTF-16编码,对前述的第四种字符同样需要四个字节来编码,所以要决定 UTF-8 或 UTF-16 哪种编码比较有效率,还要视所使用的字符的分布范围而定。不过,如果使用一些传统的压缩系统,比如 DEFLATE,则这些不同编码系统间的的差异就变得微不足道了。若顾及传统压缩算法在压缩较短文字上的效果不大,可以考虑使用 Standard Compression Scheme for Unicode(SCSU)。

互联网工程工作小组(IETF)要求所有互联网协议都必须支援 UTF-8 编码。互联网邮件联盟(IMC)建议所有电子邮件软件都支援 UTF-8编码。所有主要的电子邮件软件中,只有 Eudora 不支援 UTF-8 编码。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们