今天项目中遇到了中文编码的zip文件,处理了蛮长时间,所以记录下,以免下次踩坑。
成都创新互联公司是一家专业提供西固企业网站建设,专注与网站设计制作、成都做网站、H5场景定制、小程序制作等业务。10年已为西固众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。Python2下
Python2中读取zip文件,zipfile.ZipInfo的filename类型是str,基本上类似于python3中的bytes,即可以被decode为unicode。
所以,要处理中文,只需要将文件名按照编码decode成unicode就好。
import zipfile fpath = '/path/to/zip.zip' zfile = zipfile.ZipFile(fpath, 'r') for fileinfo in zfile.filelist: print fileinfo.filename.decode('gb18030') # 如果要更加详细的区分bytes/str/unicode的语义 print bytes(fileinfo.filename).decode('gb18030')
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款