美文网首页
python3中zipfile解压zip文件,中文文件名存在乱码

python3中zipfile解压zip文件,中文文件名存在乱码

作者: 会说话的茄子 | 来源:发表于2019-06-01 15:01 被阅读0次

           python3中使用zipfile解压zip文件,解压后存在中文文件名存在乱码问题,其主要原因是:在zip标准中,对文件名的 encoding 用的不是 unicode,而可能是各种软件根据系统的默认字符集来采用(此为猜测),而zipfile中根据文件 flag 检测的时候,只支持 cp437 和 utf-8。

          通过查证各种资料,该问题有2种解决方法,如下所示:

    第一种方式:修改zipfile.py中的源码,使的被decode为cp437后再手动转为正确的编码(亲测有效)。如下所示:

    修改zipfile.py中第一处:     

    修改zipfile.py中第二处:

         参见:https://blog.csdn.net/tian544556/article/details/78635840

                    https://blog.csdn.net/chouzhou9701/article/details/80146766

    第二种方式:首先对压缩包进行解压,然后对生成的文件名是乱码的文件,进行转码重命名      

          参见:https://blog.csdn.net/mp9105/article/details/80288549

                     https://blog.csdn.net/ducklikejava/article/details/81039797

    相关文章

      网友评论

          本文标题:python3中zipfile解压zip文件,中文文件名存在乱码

          本文链接:https://www.haomeiwen.com/subject/dlfatctx.html