修复从 UTF8 更改为 ASCII 的文件名
Fix Filename that was changed to ASCII from UTF8
我最近下载了一个视频包,文件名应该是日文字体。相反,上传它们的人搞砸了格式。
我得到的不是假名、平假名和汉字;
002òÅü¢âyâbâeâBâôâO(âuâïâ}).mp4
我想知道是否有办法解决这个问题,而不是要求再次上传?
我尝试将名称放入一个文本文件中,然后对该文件进行十六进制编辑以更改其编码,但这没有用。
我会使用 chardet 库来帮助 Python 猜测编码。
>>> 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'
可能是其中之一,但我看不懂。
我最近下载了一个视频包,文件名应该是日文字体。相反,上传它们的人搞砸了格式。
我得到的不是假名、平假名和汉字;
002òÅü¢âyâbâeâBâôâO(âuâïâ}).mp4
我想知道是否有办法解决这个问题,而不是要求再次上传?
我尝试将名称放入一个文本文件中,然后对该文件进行十六进制编辑以更改其编码,但这没有用。
我会使用 chardet 库来帮助 Python 猜测编码。
>>> 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'
可能是其中之一,但我看不懂。