参考链接:python3的decode()与encode()
文本总是Unicode
,由str
类型进行表示,二进制数据使用bytes
进行表示,不会将str
与bytes
偷偷的混在一起,使得两者的区别更加明显。在python2
中会明显发现不能将str
与bytes
拼接在一起,也不能在bytes
中查找字符。
在实际应用中经常需要对两者进行转换操作以便后续的代码能够顺利跑完。两者之间的关如下所示:
str->bytes:encode编码 bytes->str:decode解码
字符串通过编码成为字节码,字节码通过解码成为字符串。
其中decode()
与encode()
方法可以接受参数,其声明分别为:
bytes.decode(encoding="utf-8", errors="strict") str.encode(encoding="utf-8", errors="strict")
其中的encoding
是指在解码编码过程中使用的编码(此处指“编码方案”是名词),errors
是指错误的处理方案。