본문 바로가기
Python/Python FAQ

Python 유니코드 디코딩 오류, 잘못된 연속 바이트, UnicodeDecodeError, invalid continuation byte

by 베타코드 2023. 11. 3.
반응형

질문


아래 항목이 왜 실패하는 것인가요? "latin-1" 코덱으로는 왜 성공하는 건가요?

o = "a test of \xe9 char" #I want this to remain a string as this is what I am receiving
v = o.decode("utf-8")

이로 인해 다음과 같은 결과가 발생합니다:

 Traceback (most recent call last):  
 File "<stdin>", line 1, in <module>  
 File "C:\Python27\lib\encodings\utf_8.py",
 line 16, in decode
     return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError:
 'utf8' 코덱은 위치 10의 바이트 0xe9를 디코드할 수 없습니다: 잘못된 연속 바이트

답변


CSV 파일을 pandas.read_csv 메소드로 열려고 할 때 동일한 오류가 발생했습니다.

해결책은 인코딩을 latin-1으로 변경하는 것이었습니다:

pd.read_csv('ml-100k/u.item', sep='|', names=m_cols , encoding='latin-1')
반응형

댓글