Translate

星期三, 8月 08, 2012

內碼 vs 外碼


1.(External code)
也稱為輸入,是使用者根據某種中文輸入法所輸入的或是符號資料。例:線段法是指電腦中所使用的中文字形,是依每一筆劃的起點、方向以及終點等資料儲存。其外種類尚包括有倉頡、大易內碼、注音符號、電報明碼及三角號碼等。

2.內碼(Internal code)
代表真正儲存在電腦內部的,包括BCDEBCDICBCDICASCII等,為英文內碼。而BIG-5、工會、王安、電報明碼等,為中文內碼。「Big-5內碼」為目前國內中文系統最廣泛的中文內碼,使用16個位元表示中文 一個內碼通常代表一個英文中文,且長度一定,目前主要的中文是以BIG-5為主。其使用兩個位元組表示,其高位元組十六進位值均大於80

UTF-8 編碼的精隨,

1. UTF-8 只是編碼演算法,他用來對 UNICODE 編碼規則的字及進行編碼。

2. UNICODE code point 256*256*256*256 個字,涵蓋全世界
幾乎所有國家的語言文字,中文的部分是其中 CJK 的子區段。

3. BIG-5 是台灣地區自己的標準,他是一個簡單編碼演算法,也是一個編碼規則。

4. BIG-5 使用兩個 byte 的固定長度編碼, UTF-8 使用 1 4 byte
浮動長度編碼 ( 例如字母 C ,在 UTF-8 只會用一個 byte ,中文字大部分會有
3 byte 也會有2或者4byte的機會。 Big5 對英文字母沒有編進去 )

5. 使用 UTF-8 編碼,軟體處理文字會很方便,因為不用同時判斷到底字串哪一部分
ISO8859-1 的編碼,哪些是 Big5 ,這樣會讓軟體處理字串變的非常慢,而
UTF-8 的設計,把同一個 code point 的編碼 byte stream 透過前幾個 bit
的規則換算,可以讓軟體馬上知道到底這個 byte 是屬於一個 code point 編碼
的第幾個 byte ,而可以很快的處理字串的單字切割,同時也讓字串的處理變的更快
更有效率。 換句話說,使用 UTF-8 (應該說 UNICODE)軟體就不用在處理字串的時
候去不斷的判斷,這個字是不是 Big5 或者其他編碼,這個字與其他字該怎麼切割,
因為所有字都在 UNICODE

6. 因為顧及資料儲存體的使用要節省,同時也因為可以跟現有的電腦系統已 Byte 作為
字串處理的基本單位做法相容,所以 UTF-8 目前最好的使用方法。 但是根據 ISO
10646 的制定概念,如果儲存體不是考量重點的話,而且作業系統可以支援,使用
UTF-16 甚至 UTF-32 是效率更好的選擇。

政府不出面整合,那是因為我們沒有能力引導, UNICODE 是國際標準,他要作到的是
全世界的共同整合,而我們的 Big5 只為我們自己設計。 字碼不會混亂下去的,因為
UNICODE 已經是趨勢, Windows XP 已經採用 UNICODE 作為系統的處理模式,你看
到的 Big5 只是顯示的時候幫你轉的, XP 的核心根本就是使用 UNICODE 了。 現在
的混亂只是因為舊的系統幾乎採用 Big5 ,為了向前相容,所以得混在一起用。 將來
一定會慢慢走向 Unicode 的。

例如,咱們這個最新的 Yahoo!kimo 知識+ 就是 Yahoo!kimo 第一個推出 UTF-8
作為編碼基礎的服務喔! 這樣的好處就是,大家可以用日文甚至是函文阿拉伯文同時
與中文混合一起使用發問回答呢!

沒有留言: