python3默认的str就是unicode字符串
s1 = u'abc你好 不好'
abc你好
不好
字节字符串bytes 可以把当做二进制来看
s2 = b'abc123xb7xb7'
b'abc123xb7xb7'
原义字符串r:不对字符串内做任何操作
s3 = r'abc你好 不好'
abc你好 不好
将u字符串编码成b字符串
print(u'你好'.encode('utf-8')) #unicode---编码成encode---utf-8(bytes存储 或者看成二进制存储)
将b字符串解码成u字符串
print(b'xe4xbdxa0xe5xa5xbd'.decode('utf-8')) # utf-8(bytes 二进制存储)---解码成decode---unicode
保证不乱码的核心就是:字符按照什么标准而编码的,就要按照什么标准解码,此处的标准值的就是字符编码