utf-8 下汉字为什么需要三个字节

2019-05-13 07:15:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

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


原文链接:https://www.cnblogs.com/mmuxu/p/10848944.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python基础(不断更新)

下一篇:免费开源《OdooERP系统部署架构指南》试读:第一章 Odoo架构概述