python3最重要的新特性之一就是对字符串和二进制流做了明确的区分。文本总是unicode,由str类型表示用于显示。二进制则是由bytes类型表示,用于存储和传输。bytes是byte的序列,而str是unicode的序列。Python3不会以任意隐式的方式混用str和bytes,不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然)。也不能将字符串传入参数为字节流的函数(反之亦然)。
str与bytes之间的转换关系:str-->encode()-->bytes--->decode()--->str
转换方式1:encode() ,decode()
转换方式2:bytes() , str()
不同编码类型的转换
bytes作为转换中间媒介通过encode() decode()在各种编码如utf-8 \gbk等之间进行相互转换。常见乱码错误,多是由于打开解码方式与文件编码方式不同造成的。
原文地址:https://www.cnblogs.com/ghming/p/8449613.html
时间: 2024-10-14 05:28:09