본문 바로가기
Python

파이썬 한글 유니코드 변환 에러

by GGoris 2014. 12. 30.
반응형

이 글은 '열혈강의 Python 개정판ver.2'를 참고로 작성하였습니다.


'열혈강의 Python 개정판ver.2' 이강성저  프리렉





RaspberryPI에 Raspbian을 사용하였습니다.






한글 유니코드 변환 에러




>>> unicode('한글')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

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



이유는 기본 인코딩이 ascii로 되어있기 때문입니다.

기본 인코딩 방식을 변경하거나,

명시적인 인코딩 방식을 사용합니다.


먼저 기본 인코딩 방식 변환입니다.

파이썬 디렉터리의 site.py파일을 수정해주면 됩니다.

해당 파일의 경로는 기본적으로 아래와 같습니다.



/usr/lib/python2.7/site.py

저는 2.7 버전을 사용했습니다.


setencoding() 함수안의

encoding="ascii"를 본인이 사용중인 인코딩방식을 적어 넣습니다.

encoding='UTF-8'




>>> unicode('한글')

u'\ud55c\uae00'






다음으로 명시적 알림입니다.


>>> unicode('한글','UTF-8')

u'\ud55c\uae00'







P.S
3.2 버전에서는 site.py내 setencoding() 함수가 없고
기본적으로 unicode라는 내장함수도 없으며,
다양한 인코딩 방식이 자연스럽게 사용가능한것 같습니다.
(UTF-8은 잘됨)


반응형

'Python' 카테고리의 다른 글

python singleton instance with qwindow  (0) 2018.06.06
정규식  (0) 2015.02.03
파이썬 연산자  (0) 2014.12.29
파이썬 수치자료형  (0) 2014.12.25
파이썬 제어문  (0) 2014.12.23

댓글