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

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

大家好,我是讯享网,很高兴认识大家。

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

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

先看测试代码:

#-*- coding: utf-8 -*- import zipfile # 默认模式r,读a zip = 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的解码方式

# 默认模式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

---------------------
作者:姚毛毛-linuxido.com
来源:CSDN
原文:https://blog.csdn.net/yy/article/details/
版权声明:本文为作者原创文章,转载请附上博文链接!

小讯
上一篇 2025-03-17 18:16
下一篇 2025-03-18 12:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/28483.html