utf8 編碼格式簡介

UTF-8 編碼字符理論上可以最多到 6個字節長,但目前全世界的所

有文字和符號種類加起來也只要編到 4個字節長就夠了。

  UTF-8 是以 8位(即 1個字節)爲單元對原始碼進行編碼(注意一

點:這裏所講的原始碼都是指Unicode碼),並規定:多字節碼(2個字

節以上才稱爲多字節)以轉換後第1個字節起頭的連續“1”的數目(這

些連續“1”稱爲標記位),表示轉換成幾個字節:“110”連續兩個

“1”,表示轉換結果爲2個字節,“1110”表示3個字節,而“11110”

則表示4個字節……跟隨在標記位之後的“0”,其作用是分隔標記位和

字符碼位。第2~第4個字節的起頭兩個位固定設置爲“10”,也作爲標

記,剩下的6個位才做爲字符碼位使用。


  這樣,2字節UTF-8碼剩下11個字符碼位,可用以轉換0080~07FF的

原始字符碼,3字節剩下16個字符碼位,可用以轉換0800~FFFF的原始字

符碼,由此類推。編碼方式的模板如下:

 原始碼(16進制) UTF-8編碼(二進制)

--------------------------------------------

0000 - 007F 0xxxxxxx

0080 - 07FF 110xxxxx 10xxxxxx

0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx

……

--------------------------------------------

  模板中的“x”表示字符碼。

  Ascii碼<007F,編爲1個

字節的UTF-8碼。漢字的 Unicode編碼範圍爲0800-FFFF,所以被編爲

3個字節的UTF-8碼。

  例如“漢”字的Unicode編碼是6C49,6C49在0800-FFFF之間,所以

要用3個字節的模板:1110wwww 10xxxxyy 10yyzzzz。

6 C 4 9

0110 1100 0100 1001

wwww xxxx yyyy zzzz

wwww xxxxyy yyzzzz

1110wwww 10xxxxyy 10yyzzzz。

11100110 10110001 10001001

E 6 B 1 8 9

“漢”字的UTF-8編碼是E6 B1 89

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章