在UTF-8之中,視第 1 個Byte的前 4 個Bit 有幾個(binary)1,表示使用幾個Byte;
其後接續的每一個Byte之bit組合,其開頭為(binary)10。
例如:中文需要 3 個Byte,格式為 1110 xxxx,
10xx xxxx, 10xx xxxx
有 16 個 "x",共有 2 個Byte,即為Unicode.
我這邊的實際測試結果
以"直"這個中文字為例:
直 UTF-8 編碼:
E7 9B B4 (三個Byte)
E7 = 1110 0111
9B
= 1001 1011
B4 = 1011 0100
直 Unicode 編碼: F4 76 (二個Byte)
F4 = 1111 0100
76 = 0111 0110
Unicode為二個Byte,而 UTF-8 中漢字占三個Byte。
UTF-8編碼
理論上可以最多到6個Byte長。下面看一下UTF-8編碼表:
U-00000000 - U-0000007F:
0xxxxxxx
U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 -
U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 -
U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
http://www.cnblogs.com/xdotnet/archive/2007/11/23/unicode_and_utf8.html
沒有留言:
張貼留言