首页 > Python基础教程 >
-
python基础教程之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