py3环境bytes转换unicode注意

时间:2021-12-03 20:19:07

在py3环境上,bytes字符串往unicode字符串转换不能像py2那样直接用unicode直接转换。

例如:

>>> str(b'abc')
"b'abc'"


可以看到,转换后的unicode字符串增加了一些字符(标红部分)。这并不是我们希望看到的。


这里需要通过decode来转换。

>>> b'abc'.decode()
'abc'
如上才是我们希望的结果。


至于为什么可以用decode,因为py3上默认字符串格式是unicode。

decode就是解码为默认格式。