如何将Python 3字节stringvariables转换为常规string?

我已经阅读了一个XML电子邮件附件

bytes_string=part.get_payload(decode=False) 

有效载荷以字节stringforms出现,正如我的variables名称所示。

我正在尝试使用推荐的Python 3方法将这个string转换成可以处理的可用string。

该示例显示:

 str(b'abc','utf-8') 

如何将b (bytes)关键字参数应用于我的variablesbytes_string并使用推荐的方法?

我尝试的方式不起作用:

 str(bbytes_string,'utf-8') 

你在最后一行几乎是正确的。 你要

 str(bytes_string,'utf-8') 

因为bytes_string的types是bytes ,与b'abc'的types相同。

调用一个bytes实例的decode()来获取它编码的文本。

 str = bytes.decode() 

更新:

开始和结束时都没有任何b和引号

由于你的代码可能有无法识别的字符'utf-8'编码,所以最好使用str而不需要任何额外的参数:

 bad_bytes = b'\x02-\xdfI#)' text = str( bad_bytes )[2:-1] 

如果您添加'utf-8'参数,对于这些特定的字节,您应该收到错误。

正如PYTHON 3标准所说,现在text将在UTF-8中无关紧要。