在最新的Python 3版本中,字符串是以Unicode编码的,
也就是说,Python的字符串支持多语言。
>>> ord('a')
97
>>> ord('A')
65
>>> chr(65)
'A'
以Unicode表示的str通过encode()方法可以编码为指定的bytes
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。
要把bytes变为str,就需要用decode()方法。
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
在操作字符串时,我们经常遇到str和bytes的互相转换。
为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
# -*- coding: utf-8 -*-
告知python解释器安装utf-8编码读取源代码