python - 如何将字节转换为字符串,Python

标签 python string utf-8 byte decode

我正在尝试将字节转换/解码为字符串,我尝试过的代码如下所示:

body = ""
path = "C:\\Users\\...\\Demo"
listing = os.listdir(path)

for em in listing:
   mail = os.path.join(path, em)
   file = open(mail, 'rb')

   e_content = file.read()
   file.close()

   b = email.message_from_bytes(e_content)
   bbb = b['from']
   bbb = str(bbb)
   if '<' in bbb:
       bbb = bbb.split("<",1)[1]
       bbb = bbb[:-1]
       ccc = b['to']


   if b.is_multipart():
       for part in b.walk():
           ctype = part.get_content_type()
           cdispo = str(part.get('Content-Disposition'))

           # skip any text/plain (txt) attachments
           if ctype == 'text/plain' and 'attachment' not in cdispo:
               body = part.get_payload(decode=True)  # decode
               break


   else:
       body = b.get_payload(decode=True)


   mystring = str(body, 'utf-8','ignore')
   print(mystring)

不幸的是,这段代码出现了以下错误:

mystring = str(body, 'utf-8','ignore')
TypeError: decoding str is not supported

我应该怎么做才能解决这个问题? 任何帮助表示赞赏。 :)

最佳答案

以下内容适用于 Python 2.7.12 和 3.5.2:

body = b'<html>\n<body>\n<p>Some text</p></body></html>'
mystring = body.decode('utf-8')
print(mystring)

您更新的代码适用于 Python 3.5.2,但不适用于 Python 2.7.12。

关于python - 如何将字节转换为字符串,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47737021/

相关文章:

python - 二阶颂歌系统的庞加莱截面

php - Phalcon UTF8 兼容吗?

PHP: 警告 mcrypt_generic_init(): Iv 大小不正确;供应长度:12,需要:8

python - 如何将 float 的 2D std vector 写入 HDF5 文件,然后在 python 中读取它

python - 如何索引列表直到遇到特定的数据类型?

java - 正则表达式替换 Java 文件中的所有字符串文字

javascript - 如何从某个地方开始拆分字符串?

java - 为什么字符串加法给出不同的答案?

Java获取具有正确编码的url

python - 更新 tensorflow 中的张量切片