반응형
에러 발생 이유
모든 바이트가 아스키 문자가 될수는 없다.
또 모든 바이트 시퀀스가 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
등의 문자열을 사용해볼 것도 추천한다.
반응형