2017-04-19 32 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 또는

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

850 다음 중 하나가 될 수 있지만, 내가 그들을 읽을 수 없습니다.

+0

필자는 전에 Python을 사용한 적이 없습니다. 내가 수입 chardet 않았다, 변수 할당 않았다. "UnicodeDecodeError : 'ascii'코덱이 3 위치에서 바이트 0xc3을 디코딩 할 수 없다는 서재 (line 3)에 오류가 발생합니다. 서수가 범위에 없습니다 (128)"무엇이 잘못 되었습니까? – Kayot

+0

파이썬 3으로 전환하십시오. –

+0

아, 콘솔에서 파이썬을 사용하고있었습니다. 그것은 python3입니다. 감사합니다. 이제이 파일을 함수 형식으로 가져 와서 파일 이름을 바꾸려면 해당 파일을 실행할 수있는 프로그램을 만드십시오. 정보 주셔서 감사합니다. – Kayot