UTF8與Unicode的轉換

2021-08-30 19:14:08 字數 1035 閱讀 1496

如果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 ...