English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Introducción
A menudo, al comprimir archivos en Windows no hay problemas, pero en Linux, es común que aparezcan caracteres ilegibles. -O `GBK filename.zip` puede resolverlo. Después de cambiar a Fedora, no he encontrado archivos comprimidos con caracteres erróneos. La noche pasada, al descargar un disco de un libro, volví a encontrar caracteres erróneos. Intenté el método anterior sin éxito. Vi el help de unzip y no-O ese parámetro == Just encontré una solución con python, comparto.
Crear un archivo `.py` y pegar el código directamente:
#!/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()
Ejecutar la descomprimición del archivo zip y saldrá el adorable chino.
El archivo python llamado .py y el archivo que necesita descomprimir llamado .zip
Resumen
Bueno, este problema se resolvió de manera sencilla, ¿han aprendido todos? Espero que este artículo les haya sido útil en su aprendizaje o trabajo. Si tienen alguna pregunta, pueden dejar un comentario para discutir.