参考文章:浅析Python3中的bytes和str类型 - Chown-Jane-Y - 博客园
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode
,由str
类型表示,二进制数据则由bytes
类型表示。Python 3不会以任意隐式的方式混用str
和bytes
,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。
编码发展历史
1.bytes和str的相互转化就是编码解码的过程。
s = '中文'
print(s)
s1 = bytes(s, encoding='UTF-8')
print(s1)
s2 = str(s1, encoding='UTF-8')
print(s2)
在使用bytes()时,必须规定编码形式,否则会报错
注意:python3严格区分了str和bytes,所以在计算时注意参数格式,否则会报错。