通用字符集

通用字符集(英語:Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。

Universal Coded Character Set (UCS)」的各地常用譯名
中国大陸通用多八位编码字符集(UCS)
臺灣廣用多八位元組編碼字元集(UCS)

通用字符集又称Universal Multiple-Octet Coded Character Set,中国大陆译为通用多八位编码字符集,台湾译为廣用多八位元組編碼字元集

概要

通用字符集包括了其他所有字符集。它保证了与其他字符集的双向兼容,即,如果你将任何文本字符串翻译到UCS格式,然后再翻译回原编码,你不会丢失任何信息。

UCS包含了已知文字的所有字符。除了拉丁字母、希腊字母、西里爾字母、方體亞拉姆字母、阿拉伯字母、亚美尼亚字母、格鲁吉亚字母,还包括漢字、假名、諺文这样的方塊文字,UCS还包括大量的图形、印刷、数学、科学符号。

ISO/IEC 10646定义了一个31位的字符集。

UCS不仅给每个字符分配一个代码,而且赋予了一个正式的名字。表示一个UCS或Unicode值的十六进制数通常在前面加上“U+”,例如“U+0041”代表字符“A”。

版本

  • ISO/IEC 10646-1:1993 = Unicode 1.1 = GB 13000.1-93《信息技术 通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面》
  • ISO/IEC 10646-1:1993 第五至第七修订版 = Unicode 2.0
  • ISO/IEC 10646-1:1993 plus Amendments 5 to 7 = Unicode 2.1 excluding Euro Sign and Object Replacement Character, which are included in Amendment 18
  • ISO/IEC 10646-1:2000 = Unicode 3.0
  • ISO/IEC 10646-1:2000 和 ISO/IEC 10646-2:2001 = Unicode 3.1
  • ISO/IEC 10646-1:2000 第一修订版和 ISO/IEC 10646-2:2001 = Unicode 3.2
  • ISO/IEC 10646:2003 = Unicode 4.0 = GB 13000-2010
  • ISO/IEC 10646:2003 第一修订版 = Unicode 4.1
  • ISO/IEC 10646:2003 第一、第二修订版 = Unicode 5.0 excluding Devanagari Letters GGA, JJA, DDDA and BBA, which are included in Amendment 3
  • ISO/IEC 10646:2003 第一至第四修订版 = Unicode 5.1
  • ISO/IEC 10646:2003 第一至第六修订版 = Unicode 5.2
  • ISO/IEC 10646:2003 第一至第八修订版 = ISO/IEC 10646:2011 = Unicode 6.0 包括 Indian Rupee Sign
  • ISO/IEC 10646:2012 = Unicode 6.1
  • ISO/IEC 10646:2012 = Unicode 6.2,但不含 土耳其里拉符号(ISO 直到第一修订版才加入)
  • ISO/IEC 10646:2012 = Unicode 6.3,但不含 土耳其里拉符号,也不含五个双向控制字符 (Arabic Letter Mark, Left-To-Right Isolate, Right-To-Left Isolate, First Strong Isolate, Pop Directional Isolate),ISO 直到第二修订版)
  • ISO/IEC 10646:2012 第一、第二修订版 = Unicode 7.0 ,但不含俄罗斯卢布符号
  • ISO/IEC 10646:2014 第一修订版 = Unicode 8.0[1],但不含格鲁吉亚拉里符号、九个CJK统一表一字和41个繪文字
  • ISO/IEC 10646:2014 第一、第二修订版 = Unicode 9.0 ,但不含Adlam, Newa, 日本的电视用符号、74个繪文字
  • ISO/IEC 10646:2017 = Unicode 10.0,但不含285个變體假名, 3 Zanabazar Square characters和 56个繪文字
  • ISO/IEC 10646:2020 = Unicode 13.0.0

实现级别

并不是所有的系统都需要支持像組合字符这样的的先进机制。因此ISO 10646指定了如下三种实现级别

  • 级别1:不支持组合字符和諺文字母字符。
  • 级别2:类似于级别1,但在某些文字中,允许一列固定的组合字符,因为如果没有最起码的几个组合字符,UCS就不能完整地表达这些语言。
  • 级别3:支持所有的通用字符集字符,如,可以在任意一个字符上加上一个箭头或一个鼻音化符號.

Unicode和ISO 10646的关系

历史上存在两个独立的尝试创立单一字符集的组织,即

  • 国际标准化组织(ISO)于1984年创建的ISO/IEC JTC1/SC2/WG2,其含义是International Organization for Standardization / International Electrotechnical Commission, Joint Technical Committee #1 [Information Technology], Subcommittee #2 [Coded Character Sets], Working Group #2 [Multi-octet codes]). ISO 10646表示这是ISO 646的扩展。
  • XeroxApple等软件制造商于1988年组成的統一碼聯盟。前者开发的ISO/IEC 10646项目,后者开发的統一碼项目。因此最初制定了不同的标准。

1991年前后,两个项目的参与者都认识到,世界不需要两个不兼容的字符集。于是,它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作。1991年,不包含CJK统一汉字集的Unicode 1.0发布。随后,CJK统一汉字集的制定于1993年完成,发布了ISO 10646-1:1993,即Unicode 1.1。

从Unicode 2.0开始,Unicode采用了与ISO 10646-1相同的字库和字码;ISO也承诺,ISO 10646将不会替超出U+10FFFF的UCS-4编码赋值,以使得两者保持一致。两个项目仍都独立存在,并独立地公布各自的标准。但統一碼聯盟和ISO/IEC JTC1/SC2都同意保持两者标准的码表兼容,并紧密地共同调整任何未来的扩展。在發布的時候,Unicode一般都會採用有關字碼最常見的字型,但ISO 10646一般都盡可能採用Century字型

Unicode和ISO 10646的异同

統一碼聯盟公布的Unicode标准包含了ISO/IEC 10646-1实现级别3的基本多文种平面。在两个标准里,所有的字符都在相同的位置并且有相同的名字。

ISO/IEC 10646标准,就像ISO/IEC 8859标准一样,只不过是一个简单的字符集表。它定义了一些编码的别名,指定了一些与标准有关的术语,并包括了规范说明,指定了怎样使用UCS连接其他ISO标准的实现,比如ISO/IEC 6429ISO/IEC 2022。还有一些与ISO紧密相关的,比如ISO/IEC 14651是关于UCS字符串排序的。

Unicode标准,额外定义了许多与字符有关的语义符号学。Unicode详细说明了绘制某些语言(如阿拉伯语)表达形式的算法,处理双向文字(比如拉丁文和希伯来文的混合文字)的算法,排序与字符串比较所需的算法,等等。

由于Unicode这一名字比较好记,因而它使用更为广泛。不过一般认为,用于打印ISO/IEC 10646-1标准的字体在某些方面的质量,要高于Unicode 2.0。

两者部分样例字形有显著的区别。ISO/IEC 10646-1标准同样使用四种不同的风格变体来显示表意文字如中文、日文、韩文(即CJK),但Unicode 2.0的表裡只有中文的变体。甚至存在“Unicode对日本用户来说不可接受”的不實传说。

常見誤解

ISO 10646是字形標準

實際上,ISO/IEC 10646處理的是編碼標準,但因為一些資料的混亂,而使人產生誤會。比如一個常見的例子是:香港有研究人員以「ISO10646HK.NET页面存档备份,存于互联网档案馆)」為網址,公佈一些字形製作和拼音釐定的文件。有些人便因此誤以為ISO/IEC 10646是字形標準。

其實,在漢字文化圈中,各地都有其字形標準,例如香港的標準是《常用字字形表》。而ISO/IEC 10646則是作為一套編碼標準,而不是去處理各地標準的細微差異或釐定標準字形。

ISO 10646比Unicode更支援某地編碼

在Unicode和ISO/IEC 10646兩個標準中,雖然兩者部分樣例字形有顯著的區別,所有的字元都在相同的位置並且有相同的名字。ISO/IEC 10646-1標準使用四種不同的風格來顯示中(繁、簡)、日、韓文字,但Unicode的表中,只用簡體中文風格來顯示,像「Unicode對日本用戶來說不可接受」的誤解,便由此產生。

其實,上文已說明,ISO/IEC 10646或Unicode都只是編碼標準,並不處理字形風格標準之問題。字形的風格可以透過改變顯示字體來解決。

参考文献

  1. ^ Unicode 8.0.0 - Synchronization. [20 February 2015]. (原始内容存档于2016-06-28). This version of the Unicode Standard is synchronized with ISO/IEC 10646:2014, plus Amendment 1. Additionally, it includes the accelerated publication of XXXX. 

外部链接