16
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonでzipファイル解凍後の文字化け解消

Posted at

「ファイル名に日本語つかわないでよー:sob:

音声ファイルを取引先が送ってきました。zipで圧縮されていたので解凍しようとしたらめちゃんこ困ったことになりました。ファイル名がことごとく文字化けしてるんです。ファイル名がわからないと何の音源がわからない。

ファイル名に日本語を使わなければこんなことにはならないと思うんです。Qiita読者諸兄なら、取引先とのやり取りには英数字のファイル名を使ってると思います。しかし世間にはそういう認識ってまだまだ足りてないのかなと。

「文字化けしてるんで圧縮しなおしてください」って頼むとまた時間がかかるし、私達には頼れる存在、Pythonがついています!

Pythonをつかって正しいファイル名で解凍してみます(Python3)


import zipfile

SRC = '解凍したいzipファイル'
DST = '解凍したファイルを置きたい場所'

with zipfile.ZipFile(SRC) as z:
    for info in z.infolist():
        info.filename = info.filename.encode('cp437').decode('utf-8')
        z.extract(info, path=DST)

私の今回のケースの場合、文字コードcp437を使えば正しいファイル名に変換できました。ここは先方の使っている環境によって変わってくるかもしれません

以上、ちょっとしたコツですが、お役に立てば幸いです。くれぐれも、やり取りは英数字のファイル名で

16
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?