修复从UTF8更改为ASCII的文件名

时间:2017-04-19 17:08:41

标签: utf-8 iso-8859-1 mojibake

我最近下载了一组视频,这些视频应该包含日文字符作为文件名。相反,曾经上传过这些内容会破坏格式化。

而不是Kana,Hiragana和Kanji,我得到了;

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

我想知道是否有办法解决这个要求再次上传的问题?

我尝试将名称放入文本文件,然后十六进制编辑该文件以更改其编码,但这不起作用。

1 个答案:

答案 0 :(得分: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'

可以是其中之一,但我无法阅读它们。