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
總結
以上是生活随笔為你收集整理的utf8编码-汉字几字节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ie9和firefox无法打开Apple
- 下一篇: net.sf包JSONArray与JSO