如果unicode字元由2個位元組表示,則編碼成utf-8很可能需要3個位元組,而如果unicode字元由4個位元組表示,則編碼成utf-8可能需要6個位元組。用4個或6個位元組去編碼乙個unicode字元可能太多了,但很少會遇到那樣的unicode字元。
utf-8轉換表表示如下:
unicodeutf-8
00000000 - 0000007f
0******x
00000080 - 000007ff
110***xx 10******
00000800 - 0000ffff
1110***x 10****** 10******
00010000 - 001fffff
11110*** 10****** 10****** 10******
00200000 - 03ffffff
111110xx 10****** 10****** 10****** 10******
04000000 - 7fffffff
1111110x 10****** 10****** 10****** 10****** 10******
實際表示ascii字元的unicode字元,將會編碼成1個位元組,並且utf-8表示與ascii字元表示是一樣的。
所有其他的uncode字元轉化成utf-8將需要至少2個位元組。每個位元組由乙個換碼序列開始。第乙個位元組由唯一的換碼序列,由n位1加一位0組成。n位1表示字元編碼所需的位元組數。
示例 unicode uca(11001010) 編碼成utf-8將需要2個位元組:
uca -> c3 8a
unicode uf03f (11110000 00111111) 編碼成utf-8將需要3個位元組:
u f03f -> ef 80 bf
譯者注:由上分析可以看到,uncode到utf-8的轉換就是先確定編碼所需要的位元組數,然後用unicode編碼位從低位到高位依次填入上面表示為x的位上,不足的高位以0補充。以上是個人經驗,如有錯誤,請不惜指教,謝過先:)
Unicode與UTF 8編碼規則轉換
size medium unicode符號範圍 utf 8編碼方式 十六進製制 二進位制 size 0000 0000 0000 007f 0 x 0000 0080 0000 07ff 110 xx 10 0000 0800 0000 ffff 1110 x 10 10 0001 0000 001...
Unicode 與 UTF 8的關係
要弄清unicode與utf 8的關係,我們還得從他們的 說起,下來我們從剛開始的編碼說起,直到utf 8的出現,我們就會感覺到他們之間的關係 1 ascii碼 我們都知道,在計算機的世界裡,資訊的表示方式只有0和1,但是我們人類資訊表示的方式卻與之大不相同,很多時候是用語言文字 影象 聲音等傳遞資...
Unicode與UTF 8的區別
ascii 編碼 在計算機的世界裡,資訊的表示方式只有 0 和 1,但是我們人類資訊表示的方式卻與之大不相同,很多時候是用語言文字 影象 聲音等傳遞資訊的。怎樣將其轉化為二進位制儲存到計算機中,這個過程我們稱之為編碼。更廣義地講就是把資訊從一種形式轉化為另一種形式的過程。乙個二進位制有兩種狀態 0 ...