Error code 모음/4. Python errors

[Pythron Error] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 5: invalid continuation byte

쟈누이 2020. 10. 31. 22:02
반응형

 

에러 발생 이유

모든 바이트가 아스키 문자가 될수는 없다.

또 모든 바이트 시퀀스가 utf-8 문자가 될 수 있는 것은 아니기에

이진 시퀀스를 텍스트로 변환할 때 맞는 문자열로 변환할 수 없다면,

UnicodeDecodeError 가 발생한다.

 

해결 방법

utf-8 이 아닌 다른 디코드 코덱을 사용할 것을 추천한다

octets = b'Montr\xe9al'

print(octets.decode('cp1252'))
print(octets.decode('iso8859_7'))
print(octets.decode('koi8_r'))

---------------------------------

b'Montr\xe9al'

Montréal
Montrιal
MontrИal

위의 디코딩 코덱이 아니더라도

많이 사용되는 

latin 1

cp949  

 

등의 문자열을 사용해볼 것도 추천한다.

반응형