关于python的字符编码
字符的编码
ord()
输出字符的十进制编码
In [22]: ord("A")
Out[22]: 65
In [23]: ord("中")
Out[23]: 20013
chr()
输出编码对应的字符
In [24]: chr(20013)
Out[24]: '中'
In [31]: chr(0x4e2d)
Out[31]: '中'
str与bytes转换
encode()
将字符转为对应的字节流
In [32]: s = '你好'
...: s.encode()
Out[32]: b'\xe4\xbd\xa0\xe5\xa5\xbd'
decode()
将字节流转换为对应字符
In [33]: s_bytes = b'\xe4\xbd\xa0\xe5\xa5\xbd'
...: s_bytes.decode()
Out[33]: '你好'
len()
len()
函数计算的是str
的字符数,如果换成bytes
,len()
函数就计算字节数:
In [48]: len("中文")
Out[48]: 2
In [49]: len("中文".encode())
Out[49]: 6