APP開發實戰15-字元編碼介紹
阿新 • • 發佈:2019-01-08
5 字元編碼介紹
5.1 簡介
5.1.1字元
字元是抽象的最小文字單位。它沒有固定的形狀(可能是一個字形),而且沒有值。“A”是一個字元,“€”(德國、法國和許多其他歐洲國家通用貨幣的標誌)也是一個字元。“中”“國”這是兩個漢字字元。字元僅僅代表一個符號,沒有任何實際值的意義。
5.1.2字符集
字符集是字元的集合。例如,漢字字元是中國人最先發明的字元,在中文、日文、韓文和越南文的書寫中使用。這也說明了字元和字符集之間的關係,字元組成字符集(iso8859-1,GB2312/GBK,unicode)。
5.1.3程式碼點
字符集中的每個字元都被分配到一個“程式碼點”。每個程式碼點都有一個特定的唯一數值,稱為標值。該標量值通常用十六進位制表示。
5.1.4程式碼單元
在每種編碼形式中,程式碼點被對映到一個或多個程式碼單元。“程式碼單元”是各個編碼方式中的單個單元。程式碼單元的大小等效於特定編碼方式的位數: UTF-8 :UTF-8 中的程式碼單元由 8 位組成;在 UTF-8 中,因為程式碼單元較小的緣故,每個程式碼點常常被對映到多個程式碼單元。程式碼點將被對映到一個、兩個、三個或四個程式碼單元;
UTF-16:
UTF-16 中的程式碼單元由 16 位組成;UTF-16 的程式碼單元大小是 8 位程式碼單元的兩倍。所以,標量值小於 U+10000 的程式碼點被編碼到單個程式碼單元中;
UTF-32:
UTF-32 中的程式碼單元由 32 位組成; UTF-32 中使用的 32 位程式碼單元足夠大,每個程式碼點都可編碼為單個程式碼單元;
GB18030:
GB18030 中的程式碼單元由 8 位組成;在 GB18030 中,因為程式碼單元較小的緣故,每個程式碼點常常被對映到多個程式碼單元。程式碼點將被對映到一個、兩個或四個程式碼單元。