python中编码的特点:
1,各个编码之间的二进制是不能互相识别的,会产生乱码
2,文件的储存和传输是不能用Unicode的
python3的编码
在python3中字符串在内存中是用Unicode编码的,而要完成储存和传输则要将str转换为bytes类型。bytes的操作方式和str相同,但是它的编码和str不同,可以是utf-8,gbk,gb2312等等。
str → bytes的方法是str.encode(编码方式)
# encode() 表现形式是将str转变为bytes 编码方式是将Unicode转换为utf-8,gbk,gb2312等等 # 英文,数字和特殊字符转换为bytes后前面加了个b s = 'zxc' print(s.encode('utf-8')) # b'zxc' # 中文 s = '蔠缬草' print(s.encode('utf-8')) # b'xe8x94xa0xe7xbcxacxe8x8dx89'
bytes → str的方法是bytes.decode()
# decode 解码 s = '自' b = s.encode('utf-8') # 编码 print(b) print(b.decode('utf-8')) # 解码