2016-09-09 2 views
1

"ë"에이 문자가 포함 된 파일을 읽으려고합니다. 문제는 인코딩으로 무엇을하려고해도 인코딩을 읽는 방법을 알 수 없다는 것입니다. textedit에서 수동으로 파일을 보면 알 수없는 8 비트 파일로 나열됩니다. utf-8, utf-16 또는 다른 것으로 변경하려고하면 파일이 작동하지 않거나 전체 파일이 엉망입니다. 코덱을 사용하는 것뿐만 아니라 표준 파이썬 명령에서도 파일을 읽으려고 시도했지만 올바르게 읽을 수있는 것은 없습니다. 나는 아래 코드 샘플을 포함 할 것이다. 누구든지 내가 뭘 잘못하고 있는지 어떤 단서가 있습니까? 그건 그렇고 파이썬 2.17.10입니다.파일을 읽는 동안 파이썬 인코딩 문제가 발생합니다.

readFile = codecs.open("FileName",encoding='utf-8') 

내가 읽으려는 선은 그 안에 아무것도 없다. 나는 코덱을 사용하지 않는 경우

UnicodeDecodeError: 'utf8' codec can't decode byte 0x91 in position 0: invalid start byte

UTF-16 stream does not start with BOM" UnicodeError: UTF-16 stream does not start with BOM -- I know this one is that it is not a utf-16 file.

UnicodeDecodeError: 'ascii' codec can't decode byte 0x91 in position 0: ordinal not in range(128)

단어가 다음 프로그램에서 나중에 충돌 Ae?tes로 제공 :

Aeëtes 

는 여기에 내가 얻을 오류 중 일부입니다. 그냥 분명히하기 위해 제안 된 질문이나 그물에있는 다른 어떤 것도 대답을 지적한 적이 없습니다. 도움이 될만한 다른 하나의 세부 사항은 Windows가 아닌 OS X를 사용하고 있다는 것입니다.

+0

파일을 붙여 넣을 수 있습니까? 아니면 그 중 일부를 붙여 넣을 수 있습니까? 무슨 오류있어? – ffledgling

+1

일부 오류나 예상치 못한 결과를 제공해주십시오. 도움이 될 수도있는''utf-8-sig ''인코딩도 있습니다. –

+0

내가 사용하는 인코딩에 따라 오류가 변경됩니다. 여기에 그들 중 하나가 있습니다. UnicodeDecodeError : 'utf8'코덱으로 0 위치의 바이트 0x91을 디코딩 할 수 없습니다. 잘못된 시작 바이트 – Jimmy

답변

1

이 대답에 대한 크레디트는 올바른 인코딩을 알아내는 RadLexus와 가능한 모든 인코딩을 고려하지 않았음에도 올바른 방향으로 나를 가리키는 Mad Physicist에게 전달됩니다.

분명히 Mac이 .txt 파일을 mac_roman으로 변환합니다. 해당 인코딩을 사용하면 완벽하게 작동합니다.

이 코드는 변환에 사용 된 코드입니다.

readFile = codecs.open("FileName",encoding='mac_roman') 
관련 문제