python zipfile 模块下中文乱码 '╡┌╥╗╒┬_╒╨▒Ω╣½╕µ.docx'

本文详细介绍了在使用Python的zipfile模块读取ZIP文件时遇到的文件名乱码问题,探讨了问题产生的原因,并提供了解决方案,即将文件名编码从默认的CP437更改为GBK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
在使用zipfile读取文件的时候,解压出来的文件名称是乱码,如:‘╡┌╥╗╒┬_╒╨▒Ω╣½╕µ.docx’

问题产生原因:
参考资料
There is no official file name encoding for ZIP files. If you have unicode file names, you must convert them to byte strings in your desired encoding before passing them to write(). WinZip interprets all file names as encoded in CP437, also known as DOS Latin.
ZIP文件没有官方的文件名编码。如果您有unicode文件名,那么在将它们传递给write()之前,必须将它们转换成所需编码的字节字符串。WinZip将所有文件名解释为用CP437(也称为DOS拉丁文)编码的。

解决方法:
直接打开zipfile.py,搜索代码中的cp437替换为gbk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值