【发布时间】:2016-10-09 23:04:43
【问题描述】:
问题在于,对于某些上传到 python 应用程序的档案或文件,ZipFile 的namelist() 返回解码错误的字符串。
from zip import ZipFile
for name in ZipFile('zipfile.zip').namelist():
print('Listing zip files: %s' % name)
如何修复该代码,以便我始终以 unicode 解码文件名(因此支持 Chineeze、俄语和其他语言)?
我看过一些 Python 2 的示例,但由于字符串的性质在 python3 中发生了变化,我不知道如何重新编码它,或者在其上应用 chardet。
【问题讨论】:
-
stackoverflow.com/questions/1807063/… 可能会给你一些答案,特别是第二个答案。
-
无论人们在此处的答案中发布的解决方法如何,它们都不是真正可靠的解决方案,并解释了其他语言的其他程序如何处理该问题。 python包开发人员也没有关于这方面的信息。
标签: string python-3.x unicode encoding chardet