耿航
本文介紹字符集的Unicode標(biāo)準(zhǔn)和ISO的相應(yīng)標(biāo)準(zhǔn),主要涉及到使用最廣泛的ISO10464字符集和UCS字符集,包含字符集之間的演變及關(guān)系,這些字符集是計(jì)算機(jī)世界,網(wǎng)絡(luò)世界數(shù)字標(biāo)識(shí)的基礎(chǔ),因此對(duì)這些字符集的認(rèn)識(shí)、了解,進(jìn)而研究其編碼方式都有很重要的意義。
一、ISO系列標(biāo)準(zhǔn)
ISO國際標(biāo)準(zhǔn)化組織作為國際上標(biāo)準(zhǔn)化的一個(gè)主要組織,其制定的標(biāo)準(zhǔn)涉及食品,醫(yī)療,能源,電子,通信,機(jī)械,紡織,農(nóng)業(yè)等領(lǐng)域,現(xiàn)以累計(jì)制定了約有15000個(gè)標(biāo)準(zhǔn)。ISO的標(biāo)準(zhǔn)是按照國際標(biāo)準(zhǔn)分類法對(duì)不同的領(lǐng)域劃分為不同的標(biāo)準(zhǔn)組,ISO目前有ISO ICS field 01到ISO ICS field 97。國際標(biāo)準(zhǔn)化組織ISO的國際標(biāo)準(zhǔn)以號(hào)碼表示:ISO XXXX: YYYY;XXXX表示ISO的標(biāo)準(zhǔn)號(hào)碼;YYYY表示年份,可以省略。
本文中所涉及的字符集標(biāo)準(zhǔn)位于ISO ICS field 35:Information technology. Office machines中的35.040 Character sets and information coding字符集編碼標(biāo)準(zhǔn)系列。該系列中主要有以下的標(biāo)準(zhǔn):(如下表)
在上面的表中,可以看到和字符相關(guān)字符集主要有ISO 8859系列,這個(gè)字符集中包含了大部分國際語言符號(hào)的編碼標(biāo)準(zhǔn),另一個(gè)重要的字符集是ISO 10646。ISO 8859,全稱ISO/IEC 8859,是國際標(biāo)準(zhǔn)化組織ISO及國際電工委員會(huì)IEC聯(lián)合制定的一系列8位字符集的標(biāo)準(zhǔn),現(xiàn)定義了15個(gè)字符集,ISO 8859-1 到ISO 8859-16。ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)是基于羅馬字母表的一套電腦編碼系統(tǒng),采用7bit進(jìn)行編碼。它主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標(biāo)準(zhǔn)ISO 646。
二、 ISO 10646標(biāo)準(zhǔn)和UCS字符集
1)ISO 10646簡介
在字符集歷史上有兩個(gè)影響較大的獨(dú)立的字符項(xiàng)目,一個(gè)是國際標(biāo)準(zhǔn)化組織的 ISO 10646 項(xiàng)目, 另一個(gè)是由美國多語言軟件制造商組成的協(xié)會(huì)組織的 Unicode 項(xiàng)目。最初兩個(gè)項(xiàng)目是獨(dú)立運(yùn)作,但1991年前后, 兩個(gè)項(xiàng)目的參與者都認(rèn)識(shí)到, 世界不需要兩個(gè)不同的單一字符集。它們合并雙方的工作成果, 并為創(chuàng)立一個(gè)單一編碼表。 雖然兩個(gè)項(xiàng)目仍都存在并獨(dú)立地公布各自的標(biāo)準(zhǔn),但同時(shí)都同意保持碼表兼容,并緊密地共同擴(kuò)展對(duì)任何未來的擴(kuò)展的需要。
2)UCS簡介
ISO 10646 定義了通用字符集UCS (Universal Character Set)。UCS 是所有其他字符集標(biāo)準(zhǔn)的一個(gè)超集。它保證與其他字符集是雙向兼容的。 即將任何文本字符串翻譯到 UCS格式, 然后再翻譯回原編碼, 你不會(huì)丟失任何信息。
UCS 包含了用于表達(dá)所有已知語言的字符。不僅包括拉丁語,希臘語, 斯拉夫語,希伯來語,阿拉伯語,亞美尼亞語和喬治亞語的描述, 還包括中文, 日文和韓文這樣的象形文字, 以及平假名,片假名,孟加拉語,泰米爾語, 印地語,埃納德語,泰國語, 老撾語, 漢語拼音(Bopomofo),以及其他數(shù)也數(shù)不清的語。 對(duì)于還沒有加入的語言, 由于正在研究怎樣在計(jì)算機(jī)中最好地編碼它們, 因而最終它們都將被加入。UCS 還包括大量的圖形的, 印刷用的, 數(shù)學(xué)用的和科學(xué)用的符號(hào), 包括所有由Postscript, MS-DOS,MS-Windows, Macintosh字體, 以及許多其他字處理和出版系統(tǒng)提供的字符。
三、Unicode字符集和ISO 10464的區(qū)別
Unicode是多語言軟件制造商組成的協(xié)會(huì)組織(unicode. org)指定的編碼機(jī)制,它目的在于將全世界常用的文字都包含進(jìn)去。Unicode使用16bis進(jìn)行編碼,范圍為從U+0000到U+FFFF。 每個(gè)2byte碼對(duì)應(yīng)一個(gè)字符,在版本2.0開始拋棄了16位限制, 原來的16位作為基本位平面, 另外增加了16個(gè)位平面, 相當(dāng)于20位編碼, 編碼范圍0到0x10FFFF。
Unicode 協(xié)會(huì)公布的 Unicode 標(biāo)準(zhǔn)嚴(yán)密地包含了ISO 10646-1實(shí)現(xiàn)級(jí)別3的基本多語言面。 在兩個(gè)標(biāo)準(zhǔn)里所有的字符都在相同的位置并且有相同的名字。Unicode 標(biāo)準(zhǔn)額外定義了許多與字符有關(guān)的語義符號(hào)學(xué), 一般而言是對(duì)于實(shí)現(xiàn)高質(zhì)量的印刷出版系統(tǒng)的更好的參考。 另一方面, ISO 10646 標(biāo)準(zhǔn), 就象廣為人知的 ISO 8859 標(biāo)準(zhǔn)一樣, 只不過是一個(gè)簡單的字符集表。
四、漢語編碼問題
1)常用漢字字符集
1.GB 13000: 完全等同于ISO 10646-1/Unicode 2.1, 今后也將隨ISO 10646/Unicode的標(biāo)準(zhǔn)更改而同步更改。
2.GBK: 對(duì)GB2312的擴(kuò)充, 以容納GB2312字符集范圍以外的Unicode 2.1的統(tǒng)一漢字部分, 并且增加了部分unicode中沒有的字符。
3.GB 18030-2000: 基于GB 13000, 作為Unicode 3.0的GBK擴(kuò)展版本, 覆蓋了所有unicode編碼, 地位等同于UTF-8, UTF-16, 是一種unicode編碼形式。 GB18030向下兼容GB2312/GBK。 GB 18030是中國所有非手持/嵌入式計(jì)算機(jī)系統(tǒng)的強(qiáng)制實(shí)施標(biāo)準(zhǔn)。
2)編碼相關(guān)問題
早期的計(jì)算機(jī)使用7位的ASCII編碼,為了處理漢字,程序員設(shè)計(jì)了用于簡體中文的GB2312和用于繁體中文的big5編碼。GB2312一共收錄了7445個(gè)字符,包括6763個(gè)漢字和682個(gè)其它符號(hào)。GB2312支持的漢字太少。1995年的漢字?jǐn)U展規(guī)范GBK1.0。從ASCII、GB2312到GBK,這些編碼方法是向下兼容的,即同一個(gè)字符在這些方案中總是有相同的編碼,后面的標(biāo)準(zhǔn)支持更多的字符。在這些編碼中,英文和中文可以統(tǒng)一地處理。
區(qū)分中文編碼的方法是高字節(jié)的最高位不為0。2000年的GB18030是取代GBK1.0的正式國家標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)收錄了27484個(gè)漢字,同時(shí)還收錄了藏文、蒙文、維吾爾文等主要的少數(shù)民族文字。CJK就是中日韓的意思。Unicode為了節(jié)省碼位,將中日韓三國語言中的文字統(tǒng)一編碼。GB13000.1就是ISO/IEC 10646-1的中文版,相當(dāng)于Unicode 1.1。
綜上所述,字符集逐步的演變,造就了今日計(jì)算機(jī)、網(wǎng)絡(luò)世界字符顯示的互通性和統(tǒng)一性,如果沒有統(tǒng)一的字符集,也就沒有字符顯示表意的準(zhǔn)確,因此對(duì)字符集的理解、認(rèn)識(shí)對(duì)計(jì)算機(jī)、網(wǎng)絡(luò)通信的完整性和準(zhǔn)確性是根本;在此基礎(chǔ)上,對(duì)不同的字符特點(diǎn)再進(jìn)行編碼傳輸,效率也才能更高;而在今天移動(dòng)互聯(lián)時(shí)代,移動(dòng)終端已經(jīng)是網(wǎng)絡(luò)的重要出口,在此基礎(chǔ)上,不同國家,不同名族,不同的語言,字符的顯示和傳輸更顯得重要,因此,我們需要持續(xù)的關(guān)注字符集的更新,演進(jìn),通過這些字符集,我們能更快,更好的互聯(lián),互通,更好的通信。