UTF-8
UTF-8使用了變長技術,在每一個編碼區域有自己個別的字碼長度, 對UCS-2,由
1 字節至 3字節 , 對UCS-4,由 1 字節至 6 字節 ,不等,因為每組有8
bits (1 byte) ,所以稱為"UTF-8"。 UTF-8 最適合用於互聯網上或網絡上或一些需要經過調製解調器慢速傳送的文件。對於英文文本,UTF-8
的文件大小比其他轉換格式都小。
在 UTF-8內,字元由 1 個至 6 個字節為組合。如果只有一組 octets 組合,
第 1 bit 是 0,其餘 7 bits 則用來記錄有關字元的碼值。而在一個 n
octets 的組合中,在最初一組 octets 內,第 1至n bits 設定為 1,接著的
1 bit 設定為 0,其餘的 bits便用來記錄有關字元的碼值;在其餘的字節中,第
1 bit 設定為 1,第 2 bit 設定為 0,餘下的 6 bits 便用來記錄有關字元的碼值。
下列舉出了不同長度的 octets 組合記錄字碼資料的方法。英文字母 'x'
代表可以用來記錄 Unicode 碼值的區域。
UCS-4 區域 (hex.)
|
|
UTF-8 octet 組合 (binary)
|
|
|
|
0000 |
0000-0000 |
007F |
|
0xxxxxxx |
|
|
|
|
|
0000 |
0080-0000 |
07FF |
|
110xxxxx |
10xxxxxx |
|
|
|
|
0000 |
0800-0000 |
FFFF |
|
1110xxxx |
10xxxxxx |
10xxxxxx |
|
|
|
0001 |
0000-001F |
FFFF |
|
11110xxx |
10xxxxxx |
10xxxxxx |
10xxxxxx |
|
|
0020 |
0000-03FF |
FFFF |
|
111110xx |
10xxxxxx |
10xxxxxx |
10xxxxxx |
10xxxxxx |
|
0400 |
0000-7FFF |
FFFF |
|
1111110x |
10xxxxxx |
10xxxxxx |
10xxxxxx |
10xxxxxx |
10xxxxxx |
|