簡體   English   中英

Python將ISO編碼為UTF8

[英]Python encoding ISO to UTF8

我試圖使用Python腳本(Python 2.5和PyPy)閱讀我的電子郵件我的一些結果不是ASCII,我得到這樣的字符串:

=?ISO-8859-7 2 B 4 0OXm7 / Dv8d / hIPP07 + 0gyuno4enx / u3h?=”

有沒有辦法解碼它並轉換為utf-8,以便我可以處理它? 我試過.decode('ISO-8859-7'),但我得到了相同的字符串

import email.header as eh

unicode_data= u''.join(
    str_data.decode(codec or 'ascii')
    for str_data, codec
    in eh.decode_header('=?ISO-8859-7?B?0OXm7/Dv8d/hIPP07+0gyuno4enx/u3h?='))
# unicode_data now is u'Πεζοπορία στον Κιθαιρώνα'

你應該在這里使用unicode_data。 但是,如果您(認為您)需要UTF-8編碼的字符串,您可以:

utf8data= unicode_data.encode('utf-8')

更新:我更改了.decode調用以滿足codecNone (例如eh.decode_header('plain text')

閱讀MIME編碼Base64編碼 base64模塊將非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM