반응형

파이썬 2.xx 버전은 기본적으로 Ascii Code 형식이다.

3.7 버전까지 나온 마당에 굳이 2.x 버전을 쓰진 않겠지만..


컴퓨터에 기본으로 깔려있던 버전을 썼는데 그게 구버전이라면 에러를 내보낸다.....

틀린게 없는데 에러가 난다.....


ascii code는 한글을 지원할 수 없어서 생기는 인코딩 / 디코딩 문제라 해결 방법 정리해봄



해결 방법

1) #-*- encoding: utf-8 -*-

 - 파이썬 파일 맨위에 해당 줄을 입력하면 에러가 나지 않음

 - ascii Code를 UTF-8로 변환해서 인코딩해준다는 내용


2) setdefaultenconding() 설정

import sys 
reload(sys) 
sys.setdefaultencoding('cp949')


cp949로 기본 인코딩을 처리한다는 의미인데 cp949가 euc-kr이랑 똑같다고 생각하면 됨

cp949 대신 utf-8하면 에러가 난다는 이야기가 있다....

실제로 해보지는 않음


3) 출력할 문자열을 인코딩해서 사용

s = "안녕하세요"
print(type(s))
s2 = s.encode('utf-8')
print(type(s2))
s3 = u'안녕하세요'
print(type(s3))

이런 식으로 사용할 경우 다음과 같은 결과가 나오게 됨

<class 'str'>
<class 'bytes'>
<class 'str'>

물론 가장 좋은 방법은 최신 버전 언어 쓰기...


최신 버전 언어가 지원되는것도 많고 쓰기 편하다


3부터는 기본 인코딩 방식이 ascii 에서 UTF-8로 바꿔서 저런거 안해도 한글 입력하면 다 된다.


반응형

'Python > 자료' 카테고리의 다른 글

파이썬 Python] Django 설치(OS X)  (1) 2019.03.13
파이썬 Python] 한글 지원(ver: 2.XX)  (0) 2019.02.16

+ Recent posts