English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Introdução
Muitas vezes, ao comprimir arquivos no Windows, não há problemas, mas no Linux, é comum aparecerem caracteres ilegíveis. Antes, no Ubuntu, usávamos `unzip -O nome do arquivo `GBK filename.zip` resolveu o problema. Após mudar para Fedora, ainda não encontrei arquivos compactados com caracteres malsucedidos. À noite, baixei um disco de livro e novamente encontrei caracteres malsucedidos. A tentativa do método anterior não foi bem-sucedida. Verifiquei a ajuda do unzip, mas}}-O parâmetro == Encontrei uma solução com Python, vamos compartilhar.
Crie um arquivo `.py` com sufixo, copie e cole o código diretamente:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import zipfile print "Processing File " + sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r"); for name in file.namelist(): utf8name=name.decode('gbk') print "Extracting " + utf8name pathname = os.path.dirname(utf8name) if not os.path.exists(pathname) and pathname!= "": os.makedirs(pathname) data = file.read(name) if not os.path.exists(utf8name): fo = open(utf8name, "w") fo.write(data) fo.close file.close()
Execute a descompactação do arquivo zip e o idioma chinês amável aparecerá.
Nome do arquivo python.py, nome do arquivo zip a ser descompactado
Resumo
Bom, esse problema foi resolvido de forma simples. Alguém aprendeu? Espero que este artigo ajude na aprendizagem ou no trabalho de alguém. Se tiverem dúvidas, podem deixar comentários para trocar ideias.