Python_关于使用【zipfile】解压路径中文乱码问题

解决

直接修改【zipfile.py】源码 —— 简单粗暴且有效

  • 修改1:
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')
  • 修改2:
if fheader[_FH_GENERAL_PURPOSE_FLAG_BITS] & 0x800:
    # UTF-8 filename
    fname_str = fname.decode("utf-8")
else:
    fname_str = fname.decode("cp437")
    # 修改后增加
    fname_str = fname_str.encode("cp437").decode("gbk")

你可能感兴趣的:(Python,python)