9a69fa65 by 周伟奇

fix decode bug

1 parent 5aef6b62
...@@ -1210,11 +1210,11 @@ class ZipFile: ...@@ -1210,11 +1210,11 @@ class ZipFile:
1210 filename = filename.decode('utf-8') 1210 filename = filename.decode('utf-8')
1211 else: 1211 else:
1212 # Historical ZIP filename encoding 1212 # Historical ZIP filename encoding
1213 filename = filename.decode('cp437') 1213 # filename = filename.decode('cp437')
1214 try: 1214 try:
1215 filename = filename.encode("cp437").decode('gbk') 1215 filename = filename.decode('utf-8')
1216 except: 1216 except:
1217 pass 1217 filename = filename.decode("gbk")
1218 # Create ZipInfo instance to store file information 1218 # Create ZipInfo instance to store file information
1219 x = ZipInfo(filename) 1219 x = ZipInfo(filename)
1220 x.extra = fp.read(centdir[_CD_EXTRA_FIELD_LENGTH]) 1220 x.extra = fp.read(centdir[_CD_EXTRA_FIELD_LENGTH])
...@@ -1392,11 +1392,11 @@ class ZipFile: ...@@ -1392,11 +1392,11 @@ class ZipFile:
1392 # UTF-8 filename 1392 # UTF-8 filename
1393 fname_str = fname.decode("utf-8") 1393 fname_str = fname.decode("utf-8")
1394 else: 1394 else:
1395 fname_str = fname.decode("cp437") 1395 # fname_str = fname.decode("cp437")
1396 try: 1396 try:
1397 fname_str = fname_str.encode("cp437").decode('gbk') 1397 fname_str = fname.decode("utf-8")
1398 except: 1398 except:
1399 pass 1399 fname_str = fname.decode("gbk")
1400 1400
1401 if fname_str != zinfo.orig_filename: 1401 if fname_str != zinfo.orig_filename:
1402 raise BadZipFile( 1402 raise BadZipFile(
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!