如何将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中无关紧要。