utf-8 下漢字為什麼需要三個字節

 

Unicode 十六進制碼點範圍    –>   UTF-8 二進制0000 0000 – 0000 007F    –>   0xxxxxxx

0000 0080 – 0000 07FF    –>   110xxxxx 10xxxxxx                            
0000 0800 – 0000 FFFF    –>   1110xxxx 10xxxxxx 10xxxxxx                        
0001 0000 – 0010 FFFF    –>   11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
                  
                                                        
 

一個字節八個二進制位              

unicode 下漢字佔用空間為0X4E00到0x9FA5    0010  1110  0000 0000–> 1001 1111 1010 0101
則轉化為utf-8為:1110 0010 -10 111000-10 000000 –> 1110 1001-10 111111-10 100101    

       即:0x00E2 B880            –> 0x00E9 BFA5

utf-8隻是改變了unicode的保存形式,提高傳輸譯碼效率

python 3.7.2系統使用的是utf-8,但編碼轉換對應的是unicode;例:ord(漢)=27721,chr(27721)=漢,’漢’對應 unicode為0x6C49,即27721,其utf-8表示為0xE6 0xB7 0x89

 

 

參考:

原文:https://blog.csdn.net/hezh1994/article/details/78899683       

https://blog.csdn.net/hezh1994/article/details/78899683

 

https://blog.csdn.net/hezh1994/article/details/78899683

http://www.cnblogs.com/xinruzhishui/p/5763894.html

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *