python 编码

关于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的字符数,如果换成byteslen()函数就计算字节数:

In [48]: len("中文")
Out[48]: 2

In [49]: len("中文".encode())
Out[49]: 6

参考