2017-04-19 12 views
0

最近、ファイル名に日本語の文字を含むビデオのパックをダウンロードしました。代わりにそれらをアップロードした人は、書式設定に手を加えました。修正ファイル名がUTF8からASCIIに変更されました

かな、ひらがな、漢字の代わりに、

002òÅü¢âyâbâeâBâôâO(âuâïâ})。MP4

別のアップロードを求めて、この短いを修正する方法があった場合、私は不思議でしたか?

名前をテキストファイルに入れて、そのファイルをエンコードするためにそのファイルを16進数で編集しようとしましたが、動作しませんでした。

答えて

2

コード化を推測する助けとして、Python用にchardetライブラリを使用します。

>>> import chardet 
>>> s='002òÅü¢âyâbâeâBâôâO(âuâïâ}).mp4' 
>>> chardet.detect(s.encode('l1')) 
{'encoding': 'ISO-8859-5', 'confidence': 0.536359806931924, 'language': 'Russian'} 
>>> chardet.detect(s.encode('cp437')) 
{'encoding': 'SHIFT_JIS', 'confidence': 0.99, 'language': 'Japanese'} 
>>> chardet.detect(s.encode('cp850')) 
{'encoding': 'SHIFT_JIS', 'confidence': 0.99, 'language': 'Japanese'} 

おそらくISO-8859-1、より多くの可能性がないIBM 437または850

>>> s.encode('cp850').decode('sjis') 
'002撫⊃ペッティング(ブルマ).mp4' 
>>> s.encode('cp437').decode('sjis') 
'002撫○ペッティング(ブルマ).mp4' 

は、これらのいずれかだろうが、私はそれらを読むことができません。

+0

私はかつてPythonを使ったことがありません。私はインポートチャードをしました、変数の割り当てを行いました。 "UnicodeDecodeError: 'ascii'コーデックは3桁目の0xc3バイトをデコードできません:序数は範囲外です(128)"何が間違っていましたか? – Kayot

+0

Python 3に切り替えてください。 –

+0

ああ、私はコンソールでpythonを使用していました。それはpython3です。ありがとう、今これを関数形式にして、私はそれらの名前を変更するためにそれらのファイルを実行することができますプログラムを作る。情報のおかげで。 – Kayot

関連する問題