English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Introduzione
Spesso non ci sono problemi con la compressione dei file in Windows, ma sotto Linux, si incontrano spesso codici sbagliati. Prima su Ubuntu, con `unzip -O GBK filename.zip` si potrebbe risolvere. Dopo aver cambiato Fedora, non ho trovato file compressi con codici sbagliati temporaneamente. Di notte, scaricavo un CD di un libro e ho incontrato di nuovo i codici sbagliati. Il tentativo del metodo precedente non ha avuto successo. Ho guardato l'aiuto di unzip e non c'era più il parametro -O == Ho trovato una soluzione con Python, condivido qui.
Crea un file `.py` e incolla il codice: }}
#!/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()
Esegui la decompressione del file zip e appare il carino testo cinese.
Il nome del file python.py deve essere decompresso. Il nome del file da decomprimere è.zip
Conclusione
Bene, questo problema è stato risolto in modo semplice. Avete imparato? Spero che questo articolo possa aiutarvi nella vostra apprendimento o lavoro. Se avete domande, potete lasciare un commento per discuterle.