python:查看汉字的UTF8编码

讲java,就少不了谈C#。

C#的作者百科,地址是https://baike.baidu.com/item/%E5%AE%89%E5%BE%B7%E6%96%AF%C2%B7%E6%B5%B7%E5%B0%94%E6%96%AF%E4%BC%AF%E6%A0%BC/2152925?fr=aladdin

从大一、到大四,谁能解释一下中间百分号、每一对十六进制数的含义?

中间这一串,是“安德斯·海尔斯伯格”八个汉字、一个标点的UTF-8编码。在UTF-8编码下,汉字占3个字节,中间的点是特殊符号占2个字节,英文逗号句号各站一个字节,中文逗号句号各占三个字节。

占3个字节的,第一个十六进制数一定是E. 占2个字节的,第一个十六进制数是C或D.

怎么知道这些的?写一段python看。python:查看汉字的UTF8编码_第1张图片

notepad++下,看一下编码:

python:查看汉字的UTF8编码_第2张图片

python程序:

# C:\Users\asus\Desktop\

'''
https://baike.baidu.com/item/
%E5%AE%89
%E5%BE%B7
%E6%96%AF
%C2%B7
%E6%B5%B7
%E5%B0%94
%E6%96%AF
%E4%BC%AF
%E6%A0%BC/2152925?fr=aladdin

UTF 3字节格式,以E开头
1110 XXXX
10XX XXXX
10XX XXXX
E 1110

UTF 2字节格式 以1100(C)开头,以1101(D)开头
110X XXXX
10XX XXXX
'''
                       
f = open('C:\\Users\\asus\\Desktop\\data_str.txt',mode='rb')  
print(f.read())   
f.close()

输出结果:

>>> 
======================== RESTART: D:/19python/py0731.py ========================
b'\xe5\xae\x89\xe5\xbe\xb7\xe6\x96\xaf\xc2\xb7\xe6\xb5\xb7\xe5\xb0\x94\xe6\x96\xaf\xe4\xbc\xaf\xe6\xa0\xbc\r\n\xc2\xb7\r\n\xc2\xb7\r\n\xc2\xb7\r\n,.\r\n\xef\xbc\x8c\r\n\xe3\x80\x82\r\n\xc2\xb7'
>>> 

汉字的编码问题,在大二学jsp的时候会涉及到。学过理论课、实验课,学生是否知道以上知识点?大四是否知道?

学生之间不能解答,年复一年,学生遇到乱码,可能是老师解决、或者自己摸索,学习效率很低。解决了少量问题,一个学期过去了。

 

 

你可能感兴趣的:(python,钢七连软件技术慕课)