ホームページ  >  記事  >  バックエンド開発  >  Fedoraでzipを解凍した際の中国語の文字化けをPythonで解決する方法

Fedoraでzipを解凍した際の中国語の文字化けをPythonで解決する方法

高洛峰
高洛峰オリジナル
2017-02-22 16:53:341690ブラウズ

はじめに

Windows ではファイルを圧縮しても問題ない場合が多いですが、Linux では文字化けが発生することがよくあります。以前は、Ubuntu では `unzip -O GBK filename.zip` を使用することができました。 Fedora に切り替えた後、まだ文字化けした圧縮ファイルは見つかりませんでした。夜に本のCDをダウンロードしたら、また文字化けに遭遇しました。前の方法を試しましたが成功しませんでした。 unzip のヘルプを見たところ、-O パラメーターがないことがわかりました == Python を使用した解決策を見つけたので、共有してください。

拡張子 `.py` が付いた新しいファイルを作成し、コードを直接コピーして貼り付けます:

#!/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()

解凍した zip ファイルを実行すると、素敵な漢字が表示されます。

python 文件名.py 需要解压的文件名.zip

まとめ

さて、この問題はとても簡単に解決しました、皆さんは覚えましたか?この記事が皆さんの勉強や仕事に少しでも役立つことを願っています。ご質問がある場合は、メッセージを残して連絡してください。

Fedora で zip を解凍する際の中国語の文字化けを解決するための Python のその他の方法については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。