(1)ASCII是主要针对英文字母和数字以及一些英文字符进行的编码方式;
(2)Unicode包含有世界上普遍问题的编码方式,比如汉字和汉语,日语等字符;
(3)UTF-8为了实现Unicode编码带来的内存大而设计的编码方式,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
1、ord函数和chr函数:实现字符和对应整数之间的转换
对于单个字符的编码,Python提供了ord()
函数获取字符的整数表示,chr()
函数把编码转换为对应的字符:
ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
2、encode()函数和decode()函数:实现字节和字符之间的转换
'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
3、计算字符和字节的长度函数len()
要计算str
包含多少个字符,可以用len()
函数:
>>> len('ABC')
3
>>> len('中文')
2
len()
函数计算的是str
的字符数,如果换成bytes
,len()
函数就计算字节数:
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
来源:CSDN
作者:曾经爱过她的回眸
链接:https://blog.csdn.net/qq_25018077/article/details/103940700