網頁設計-正華網頁設計公司 -- 什麼是 UTF-8 編碼?
正在加載......

什麼是 UTF-8 編碼?

為了讓軟體產品支援多種語系,就必須讓軟體認得各種語言的不同編碼表,但卻為軟體開發帶來更多的複雜性與不便。Unicode 是一套能夠解決這個問題的世界性編碼標準,它為每一個字元提供與作業平台、程式、語言相獨立的單一編碼。簡言之,Unicode 詳列了世界上所有使用到的字元,並且為它們各自編派一個獨立單一的號碼。

Unicode 出現之前,有多達好幾百種不同的編碼系統,試圖分派這些編號,但沒有單獨一種編碼包含足夠的字元。舉例而言,歐盟就得需要數種不同編碼,以便廣納其所有語言。對於單一語言,如英文,也沒有單一種編碼可以充份表達其所有文字、標點,以及共通的專門符號。

更糟的是,這些編碼系統彼此衝突,兩套編碼系統會在兩個完全不同的字元上,使用相同的編號,或反之亦然。對於有必要支援多種不同編碼的電腦系統,不同編碼或平台上的資料交換,都將面臨資料失真的風險。

Unicode 已受到產業的廣泛接受,如 Apple、HP、IBM、JustSystem、Microsoft、Oracle、SAP、Sun、Sybase、Unisys 等多家領導廠商都表明支援。Unicode 更受到 XML、Java、ECMAScript (JavaScript )、LDAP、CORBA 3.0、WML 等標準的採納。支援 Unicode 的作業系統與瀏覽器等產品也為數不少。Unicode 標準的興起,加上支援工具的推波助瀾,成為全球化軟體技術趨勢中相當顯著的光芒之一。

Unicode 的最初目標是希望採用 16 位元編碼指定超過 65,000 個字元,然而要讓現存所有軟體適應 16 位元資料,必須花費可觀的重新開發成本。Unicode 於是發展出三種不同的編碼形式 UTF-8、UTF-16 和 UTF-32,這三種格式針對同樣的共同字元加以編碼,允許相同的資料以位元組、字組或雙字組形式傳送,並且可在無資料損失下轉換成其它格式。

UTF-8 最常見於 HTML 與相關協定中。此一格式有趣的地方是原先存在於 ASCII 的字元和 UTF-8 中的同一字元,擁有同樣的的字元值。例如,A 在 ASCII 和 UTF-8 中都是 0x41。大多數現有軟體不需重新撰寫,便可使用轉換成 UTF-8 的 Unicode 字元。UTF -16 使用在需要同時考量字元存取效率和儲存空間的環境。對於一些無須考慮記憶體空間,但要求字元存取必須是固定長度且佔用單一編碼單位(single code unit)的環境,UTF-32 則是最佳的選擇。

日前第 24 屆的國際化與 Unicode 會議(Internationalization & Unicode Conference)於美國喬治亞州的亞特蘭大舉行,最新的 Unicode 4.0.0 與 Web 國際化是這次會議主要重點。會議包含一整天的指導課程與兩天的研討會。明年四月該會議第 25 屆將於華盛頓舉辦,主題為 Unicode 在政府單位的應用。

相關網址:
1.開發人員的國際化簡介
http://www.i18nfaq.com/developer.html
2.第 24 屆國際化與 Unicode 會議
http://www.unicode.org/iuc/iuc24/
3.第 25 屆國際化與 Unicode 會議
http://www.unicode.org/iuc/iuc25/index.html
4.Unicode 為何?
http://www.unicode.org/standard/WhatIsUnicode.html

參考資料
http://www.openfoundry.org/archives/000293.html
    需求單


gotop