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

python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼。看了alex的文章,才有种恍然大悟的感觉(链接在底部)。一句话,就是转换成unicode,压缩前是什么编码,使用什么编码encode再decode回来先看测试代码:#-*-coding:utf-8-*-importzipfile#默认模式r,读azip=zipfile.ZipFile(“/Users…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

中文在编程中真实后娘养的,各种坑爹,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 语言进阶(九)--方法和下标

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200753.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号