中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

解決python3中解壓zip文件是文件名亂碼的問題-創(chuàng)新互聯

在zip標準中,對文件名的 encoding 用的不是 unicode,而可能是各種軟件根據系統的默認字符集來采用(此為猜測),因此zipfile中根據文件 flag 檢測的時候,只支持 cp437 和 utf-8。

創(chuàng)新互聯服務項目包括肅寧網站建設、肅寧網站制作、肅寧網頁制作以及肅寧網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,肅寧網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到肅寧省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

具體就是查找 zipfile.py 源代碼找到下面的代碼:

1: if flags & 0x800:
2: # UTF-8 file names extension
3: filename = filename.decode('utf-8')
4: else:
5: # Historical ZIP filename encoding
6: filename = filename.decode('cp437')

可見編碼被正確識別為utf8時的情況外,都會被識別并decode為cp437編碼,但如果實際是gbk等其他編碼時就變?yōu)閬y碼了。所以解決的方法在于被decode為cp437后重新再手動轉為正確的編碼。

具體代碼如下:

#修改代碼
if flags & 0x800:
 # UTF-8 file names extension
 filename = filename.decode('utf-8')
else:
 # Historical ZIP filename encoding
 filename = filename.decode('cp437')
 #修改
 filename = filename.encode("cp437").decode('gbk')

網站題目:解決python3中解壓zip文件是文件名亂碼的問題-創(chuàng)新互聯
標題來源:http://www.rwnh.cn/article18/dciigp.html

成都網站建設公司_創(chuàng)新互聯,為您提供企業(yè)建站、定制開發(fā)、虛擬主機、商城網站、外貿網站建設、App開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

綿陽服務器托管
永昌县| 宁乡县| 江永县| 额敏县| 原阳县| 玉门市| 西昌市| 高台县| 丽水市| 湖州市| 富宁县| 贞丰县| 华亭县| 芦溪县| 锡林浩特市| 正阳县| 长治市| 东乡族自治县| 江孜县| 株洲市| 通山县| 临沂市| 宁安市| 许昌市| 安龙县| 射阳县| 日土县| 施秉县| 安新县| 手游| 龙山县| 玉门市| 灵石县| 寻乌县| 巨鹿县| 腾冲县| 乌海市| 五莲县| 正定县| 水城县| 酒泉市|