我在Python雄鱼提取MIME消息的文件,我整个问题进行命名这些文件运行:
=?ISO-8859-1 Q +认证5FZonificaci = = = F3N 5F2010 2Epdf =?=
我似乎无法在这个名字解码成UTF。 为了解决现有ISO-8859-1的问题,我开始传递所有文件名给这个函数:
def unicodeConvert(self, fname):
normalized = False
while normalized == False:
try:
fname = unicodedata.normalize('NFKD', unicode(fname, 'utf-8')).encode('ascii', 'ignore')
normalized = True
except UnicodeDecodeError:
fname = fname.decode('iso-8859-1')#.encode('utf-8')
normalized = True
except UnicodeError:
fname = unicode(fname.content.strip(codecs.BOM_UTF8), 'utf-8')
normalized = True
except TypeError:
fname = fname.encode('utf-8')
return fname
这是工作,直到我得到这个文件名。
想法是赞赏一如既往。