Unicode檢視原始碼討論檢視歷史
Unicode(中文:萬國碼、國際碼、統一碼、單一碼)是計算機科學領域裡的一項業界標準。它對世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。
Unicode 伴隨着通用字符集的標準而發展,同時也以書本的形式對外發表。Unicode 至今仍在不斷增修,每個新版本都加入更多新的字符。當前最新的版本為2020年3月公布的13.0.0[1],已經收錄超過13萬個字符(第十萬個字符在2005年獲採納)。Unicode涵蓋的數據除了視覺上的字形、編碼方法、標準的字符編碼外,還包含了字符特性,如大小寫字母。
Unicode發展由非營利機構統一碼聯盟負責,該機構致力於讓 Unicode 方案取代既有的字符編碼方案。因為既有的方案往往空間非常有限,亦不適用於多語環境。
Unicode備受認可,並廣泛地應用於電腦軟件的國際化與本地化過程。有很多新科技,如可擴展置標語言(Extensible Markup Language,簡稱:XML)、Java編程語言以及現代的操作系統,都採用Unicode編碼。
起源與發展
Unicode是為了解決傳統的字符編碼方案的局限而產生的,例如ISO 8859-1所定義的字符雖然在不同的國家中廣泛地使用,可是在不同國家間卻經常出現不兼容的情況。很多傳統的編碼方式都有一個共同的問題,即容許電腦處理雙語環境(通常使用拉丁字母以及其本地語言),但卻無法同時支持多語言環境(指可同時處理多種語言混合的情況)。
Unicode 編碼包含了不同寫法的字,如「ɑ/a」、「強/強」、「戶/戶/戸」。然而在漢字方面引起了一字多形的認定爭議(詳見中日韓統一表意文字主題)。
在文字處理方面,統一碼為每一個字符而非字形定義唯一的代碼(即一個整數)。換句話說,統一碼以一種抽象的方式(即數字)來處理字符,並將視覺上的演繹工作(例如字體大小、外觀形狀、字體形態、文體等)留給其他軟件來處理,例如網頁瀏覽器或是文字處理器。
當前,幾乎所有電腦系統都支持基本拉丁字母,並各自支持不同的其他編碼方式。Unicode為了和它們相互兼容,其首256個字符保留給 ISO 8859-1 所定義的字符,使既有的西歐語系文字的轉換不需特別考量;並且把大量相同的字符重複編到不同的字符碼中去,使得舊有紛雜的編碼方式得以和Unicode編碼間互相直接轉換[2],而不會丟失任何信息。舉例來說,全角格式區段包含了主要的拉丁字母的全角格式,在中文、日文、以及韓文字形當中,這些字符以全角的方式來呈現,而不以常見的半角形式顯示,這對豎排文字和等寬排列文字有重要作用。
在表示一個 Unicode 的字符時,通常會用「U+」然後緊接着一組十六進制的數字來表示這一個字符。在基本多文種平面(英語:Basic Multilingual Plane,簡寫 BMP。又稱為「零號平面」、plane 0)里的所有字符,要用四個數字(即兩個byte,共16 bits,例如 U+4AE0,共支持六萬多個字符);在零號平面以外的字符則需要使用五個或六個數字。舊版的 Unicode 標準使用相近的標記方法,但卻有些微小差異:在 Unicode 3.0 里使用「U-」然後緊接着八個數字,而「U+」則必須隨後緊接着四個數字。
視頻
Unicode 相關視頻
參考文獻
- ↑ Unicode發布13.0版本,收錄4939個生僻字,新浪網,2020-03-14
- ↑ 編碼詳情 - Java 中文亂碼解決之道,極客學院Wiki,2018-11-28