中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼。看了alex的文章,才有种恍然大悟的感觉(链接在底部)。

一句话,就是转换成unicode,压缩前是什么编码,使用什么编码encode再decode回来

先看测试代码:

#-*- coding: utf-8 -*-
import zipfile# 默认模式r,读
azip = zipfile.ZipFile("/Users/a/my_file/feise.zip", 'r')
# 返回所有文件夹和文件
zip_list = azip.namelist()
for zip_file in zip_list:print(zip_file)print(zip_file.encode('utf-8'))

  

真实文件名

绯色/w1985jc/沈嫣日记/8_【沈嫣日记】(33-完).txt  

print(zip_file):
τ│╔½/ú≈ú▒ú╣ú╕ú╡úΩúπ/╔≥µ╠╚╒╝╟/8_í╛╔≥µ╠╚╒╝╟í┐ú¿33-═Ωú⌐.txt

print(zip_file.encode('utf-8'))
b'\xcf\x84\xe2\x94\x82\xe2\x95\x94\xc2\xbd/\xc3\xba\xe2\x89\x88\xc3\xba\xe2\x96\x92\xc3\xba\xe2\x95\xa3\xc3\xba\xe2\x95\x95\xc3\xba\xe2\x95\xa1\xc3\xba\xce\xa9\xc3\xba\xcf\x80/\xe2\x95\x94\xe2\x89\xa5\xc2\xb5\xe2\x95\xa0\xe2\x95\x9a\xe2\x95\x92\xe2\x95\x9d\xe2\x95\x9f/8_\xc3\xad\xe2\x95\x9b\xe2\x95\x94\xe2\x89\xa5\xc2\xb5\xe2\x95\xa0\xe2\x95\x9a\xe2\x95\x92\xe2\x95\x9d\xe2\x95\x9f\xc3\xad\xe2\x94\x90\xc3\xba\xc2\xbf33-\xe2\x95\x90\xce\xa9\xc3\xba\xe2\x8c\x90.txt'

  

废话不多说了,直接上最后成功代码,使用cp437可以正确读取部分,但是还有一部分却打印出来\u的编码,

因为看了alex的文章,又在catch中加上了utf-8的解码方式

#-*- coding: utf-8 -*-import zipfile

# 默认模式r,读azip = zipfile.ZipFile("/Users/a/my_file/feise.zip", 'r')# 返回所有文件夹和文件zip_list = azip.namelist()for zip_file in zip_list:    print(zip_file)    print(zip_file.encode('utf-8'))    try:        zip_file = zip_file.encode('cp437').decode('gbk')    except:        zip_file = zip_file.encode('utf-8').decode('utf-8')    print(zip_file)

  一句话,就是转换成unicode,压缩前是什么编码,使用什么编码encode再decode回gbk、utf-8

本文参考文档:

https://www.cnblogs.com/CN-S/p/6566395.html

https://www.cnblogs.com/alex3714/articles/7550940.html

python使用zipfile解压文件中文乱码问题相关推荐

  1. python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题

    中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...

  2. java解压中文乱码_java解压文件中文乱码怎么处理

    上次利用java自动的java.util.zip.ZipEntry和??java.util.zip.ZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现 ...

  3. windows 解压文件出现乱码 7zip解压文件中文乱码 解决方法

    按照如下教程,更改windows默认编码格式为utf-8之后. https://blog.csdn.net/qq_43780850/article/details/129122210 解压文件时,文件 ...

  4. python解压版使用_【Python】使用 zipfile 解压含有中文文件名的 zip 文件

    问题 在使用 Python 内置标准库 zipfile 解压文件时,如果压缩文件中有的文件含有中文,那么解压后就会发现文件名中的中文部分是乱码.例如我分别新建三个 txt 文件:文件1.txt,文件2 ...

  5. linux unzip乱码,Linux 中unzip解压时中文乱码的解决办法

    Linux 中unzip解压时中文乱码的解决办法 Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的压缩包如"资料.zip"时,如果直接使 ...

  6. Python 爬虫数据写入csv文件中文乱码解决以及天眼查爬虫数据写入csv

    python爬虫数据写入csv文件中文乱码,用'utf-8'在pycharm中打开文件没有问题,但是用excel打开却出现了问题,以下为解决方法. (最近在练习爬虫,这个博文是对自己学习的记录和分享, ...

  7. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

  8. linux下mkdirs方法乱码,linux 解压zip中文乱码问题

    本文用程序解决的的,有兴趣可以看一看,limux有解决中文乱码问题,,请去其他博客. 方法一:使用java importjava.io.File;importjava.io.FileOutputStr ...

  9. android zip中文乱码,Android中解压zip中文乱码处理

    乱码原因分析 一般我们使用的Windows系统外部文件默认都是GBK编码方式,Mac系统默认的好像是UTF-8(同事的电脑就是,不知道其他人的是不是),Linux的没验证过,这里我讨论的是Window ...

最新文章

  1. 手机站点开发及手机中图片加速显示img的Canvas方法
  2. pytorch 训练过程acc_深度学习Pytorch实现分类模型
  3. qtp连接mysql 无驱动_QTP连接MySQL
  4. 【报告分享】2021年Z世代“潮力量”洞察报告.pdf(附下载链接)
  5. python android开发_Android与Python爱之初体验
  6. 工作流调度器azkaban 安装
  7. SQLmap注入学习实战 —— dvwa 从low到impossble
  8. H5微信中棋牌游戏域名防封解决方案
  9. 【无标题】Java画板简易实现
  10. 通信原理包络是什么意思_什么是PFC稳压开关电源?
  11. pythonturtle简单绘图_10分钟轻松学会 Python turtle 绘图
  12. android百度地图自动定位
  13. Bluetooth Profile Specification之(HFP篇)4.2 呼叫传输、设置、保持状态
  14. 生活随记 - 雁过留声
  15. STM32变频器 源程序是经批量验证过的原始代码,仅支持VF控制,C语言实现,完全开源,Keil uVision4编译无错误
  16. pylon保存图片_pylon界面中文说明 德国basler工业相机.pdf
  17. Inno Setup教程
  18. Linux自动挂载失败,Linux学习记录--开机挂载错误
  19. Python引入自定义模块
  20. svg通过虚线画形状

热门文章

  1. java三次方_java中a的三次方除了a*a*a还有其他表示?a^3不行?
  2. Ideal必备宝藏插件
  3. 服务分发,App创业者的下一个流量红利?
  4. 如何在Spring Boot中使用TDD写出高质量的接口
  5. 安规测试简介(二)-常见安规认证测试之CE认证
  6. 如何成为 Java 技术经理?
  7. 正点原子linux阿尔法开发板使用——platform平台总线模型
  8. 计算机多媒体技术及其应用论文,浅析计算机多媒体技术的应用
  9. 第二部分 单机以及编队控制实验—初级教程之安卓APP使用教程(13)
  10. try 的 catch 和 promise 的 catch 有什么区别