通用字符集

通用字符集（Universal Character Set, UCS）是由ISO制定的ISO 10646（或稱ISO/IEC 10646）標準所定義的標準字符集。
通用字符集又稱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，但不含格魯吉亞拉里符號、九個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的擴展。
*由Xerox、Apple等軟件製造商於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的基本多文種平面。在兩個標準-{zh-hans:裡; zh-hant:裡;}-，所有的字符都在相同的位置並且有相同的名字。
ISO/IEC 10646標準，就像ISO/IEC 8859標準一樣，只不過是一個簡單的字符集表。它定義了一些編碼的別名，指定了一些與標準有關的術語，幷包括了規範說明，指定了怎樣使用UCS連接其他ISO標準的實現，比如ISO/IEC 6429和ISO/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 date=20050613010156 」為網址，公佈一些字形製作和拼音釐定的文件。有些人便因此誤以為ISO/IEC 10646是字形標準。
其實，在漢字文化圈中，各地都有其字形標準，例如香港的標準是《常用字字形表》。而ISO/IEC 10646則是作為一套編碼標準，而不是去處理各地標準的細微差異或釐定標準字形。

**ISO 10646比Unicode更支援某地編碼**
在Unicode和ISO/IEC 10646兩個標準中，雖然兩者部分樣例字形有顯著的區別，所有的字元都在相同的位置並且有相同的名字。ISO/IEC 10646-1標準使用四種不同的風格來顯示中（繁、簡）、日、韓文字，但Unicode的表中，只用簡體中文風格來顯示，像「Unicode對日本用戶來說不可接受」的誤解，便由此產生。
其實，上文已說明，ISO/IEC 10646或Unicode都只是編碼標準，並不處理字形風格標準之問題。字形的風格可以透過改變顯示字體來解決。

**參考文獻**

**外部鏈接**
  JTC1/SC2/WG2 date=20180820063331 -  ISO/IEC 10646標準下載 date=20181026005055 -  Relationship to ISO/IEC 10646 date=20210225034214 -  對字符編碼與Unicode、ISO 10646、UCS、UTF8、UTF16、GBK、GB2312的理解 date=20140313003458