首先我们要在我们的python源码文件的头部写上编码声明为 utf-8,这样我们在输入中文时就不会出现乱码的情况了。
# -*- coding:utf-8 -*-
对单个字符的转换
ord() 获取字符的整数表示
chr() 与ord() 功能相反,把一个编码转换成字符。
>>> ord('A')
65
>>> chr(66)
'B'
把字符串转换为bytes
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
b = b'ABC'
我们通过encode() 把字符串转换成指定的二进制。
>>> 'ABC'.encode('ascii')
b'ABC'
如果是中文我们就要转换成UTF-8编码,含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
>>> '中国'.encode('utf-8')
b'\xe4\xb8\xad\xe5\x9b\xbd'
把bytes转换为字符串
如果我们要读取字节流我们读取的是bytes,我们需要把bytes转换成字符串显示。我们可以使用decode().
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-8')
'中国'
本文结束!