中文在编程中真实后娘养的,各种坑爹,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

解决ubuntu中zip解压的中文乱码问题

转自解决ubuntu中zip解压的中文乱码问题 在我的ubuntu12.10中,发现显示中文基本都是正常的,只有在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码 ...

解决Fedora解压文件产生乱码的问题

最近有发现在使用Linux的时候,之前也遇到过在ubuntu下,最后ubuntu貌似在原生下优化了这个问题,现在换到了fedora上的时候问题又出现了,解压出来的文件中文乱码. 为了在linux下可以 ...

python使用zipfile解压中文乱码问题

在zipfile.ZipFile中获得的filename有中日文则很大可能是乱码,这是因为 在zip标准中,对文件名的 encoding 用的不是 unicode,而可能是各种软件根据系统的默认字符集 ...

Python压缩及解压文件

Zip压缩 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import zipfile #加载模块 # 压缩 z = zipf ...

python笔记5-python2写csv文件中文乱码问题

前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...

解压版中文乱码问题MYSQL中文乱码

安装的是解压版的MYSQL,具体配置参考:https://jingyan.baidu.com/article/9c69d48f85032f13c9024e15.html . 1:解压之后copy 一个 ...

nodejs adm-zip 解压文件 中文文件名乱码 问题解决

修改需要使用到iconv-lite包 (npm安装即可),修改 zipEntry.js 文件中的 entryName 方法 var iconv = require('iconv-lite'); var ...

ZipFile解压文件不改变压缩包内文件修改日期的方法

本文参考http://stackoverflow.com/questions/9813243/extract-files-from-zip-file-and-retain-mod-date-pytho ...

可解压带中文名称文件的zip包

package com.text.ziptest; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; i ...

随机推荐

Visual Studio 2013 Preview 高清多图先睹为快

Visual Studio 2013 Preview已经发布.大家可以下载试用了哦: 选项加载明显比之前版本要快很多.

GIT 版本控制常用命令学习汇总

GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help 获取指定命令帮助信息 git c ...

Windows 8的本地化应用程序清单

I need to localize some data in application manifest (like name, description, splashscreen images et ...

Linux 脚本 sh 和 ./ 的区别

如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:./executable-file PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前目 ...

Java学习笔记之:Java String类

一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...

android string.xml前后加空格的技巧

方法1: 密    码  这个就代表着空格. 方法2:用\u0020代表空 ...

尚未解决的intellij问题:补充措施

2016-12-06 遇到问题 D:\software\apache-tomcat-7.0.57\bin\catalina.bat run [2016-12-06 09:54:52,342] Arti ...

Android自定义控件之TextView

转自:http://labs.easymobi.cn/?p=284 有时候Android自带的控件无法满足我们的某些要求,这时就需要我们自定义控件来实现这些功能.比如需要一个TextView里的字倾斜 ...

苹果新的编程语言 Swift 语言进阶(九)--方法和下标

一.方法 方法是与特定类型相关的函数.与属性一样,方法也包括实例方法和类型方法. 类.结构.枚举都能定义实例方法,用来封装或实现给定类型的一个实例相关的功能或特定任务. 类.结构.枚举也能定义与类型本 ...

python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题相关推荐

  1. python使用zipfile解压文件中文乱码问题

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

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

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

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

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

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

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

  5. nodejs adm-zip 解压文件 中文文件名乱码

    最近的一个项目需要上传zip文件到服务器,然后解压到当前目录,最初选用unzip包进行解压,开始使用的时候不知道这个包有监听函数,认为完全是同步的.实际是有完成解压监听函数的.使用adm-zip的时候 ...

  6. python压缩文件_Python压缩及解压文件

    Zip压缩 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import zipfile #加载模块 # 压缩 z = zipf ...

  7. python遍历目录压缩文件夹_Python实现多级目录压缩与解压文件的方法

    本文实例讲述了Python实现多级目录压缩与解压文件的方法.分享给大家供大家参考,具体如下: 咱向来就是拿来主意,也发个东西供同行"拿来"使用吧 咱信奉的就是少量的代码完成大量的工 ...

  8. python解压文件中哪个是安装包_python解压文件格式的基本方法

    应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. patool库支持的格式包括: ...

  9. opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径。

    opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径 定义函数: cv2_imread(path)代替cv2.imread() cv2_im ...

最新文章

  1. 【Dual-Path-RNN-Pytorch源码分析】AudioReader
  2. P4556 雨天的尾巴
  3. 【2018.3.24】模拟赛之五-ssl1864 得分【dp,贪心】
  4. 使用foreach循环遍历Collection集合
  5. 【ES】学习5-全文搜索
  6. Doc2vec在推荐系统中的应用(含算法原理、代码实现)
  7. mysql删除myisam表数据影响_Mysql 下 Myisam表delete 后 数据恢复问题
  8. 学习之路十四:客户端调用WCF服务的几种方法小议
  9. xmind 8 pro中文版下载
  10. IT,大一,这里我有点建议
  11. Postman安装(汉化Postman)
  12. 七层网络协议详细解释
  13. php进程是什么,PHP的进程模型是什么
  14. 电机驱动模块--L298N
  15. 七、微信小程序运行报错:Error: AppID 不合法,invalid appid
  16. 跨专业考c语言程序设计,多位跨考大神,教你如何跨专业上岸
  17. Android Activity 降低屏幕亮度 Android开发
  18. 数据处理-500行Python代码处理ave/chunk命令下1d和2d分块数据
  19. c语言中mw shl code,c – 使用SHLD / SHRD指令
  20. 五分钟解决圆排列问题

热门文章

  1. 文本情绪分析学习篇(四)
  2. Procedural Materials
  3. Anaconda3安装jieba库和NLTK库
  4. 揭秘华为AI布局:为什么生态和平台这么重要?
  5. CDC、HDC、pDC
  6. 怎样将手机中的录音转换成文字
  7. Win10+vm15.5.6虚拟机+unlocker3.0.3+“Intel VT-x处于禁用状态”解决方案+安装Sketch软件+汉化(mac系统)
  8. 基于单片机的智能空气加湿器设计
  9. 零售行业RFID应用解析
  10. mpg格式linux,mpg文件扩展名,mpg文件怎么打开?