NOTICE 
파이썬을 사용하면서 가장 불만인 것이 바로 헷갈리는 한글 인코딩이었다.
틈만나면 깨지는 한글을 보면서 한숨만 내쉴수는 없는 일...
경험으로 알게된 몇가지를 정리해보자.
(틀릴수도 있으니 혹시나 아시는 분께서는 정정부탁드립니다 ㅠ__ㅠ 지식이 미천해서..)

1. 초기상태의 파이썬은 기본 인코딩은 ASCII 이다.
import sys
sys.getdefaultencoding()

으로 알 수 있다.

2. 소스파일 인코딩
파이썬 소스파일의 앞에 아래의 주석을 다는 것은,
# -*- coding: utf-8 -*-

이 소스파일이 utf-8 인코딩으로 저장된 파일이라는 뜻이다.

3. str 타입 vs. unicode 타입
str 타입은 파이썬 인터프리터가 실행된 환경의 로케일에 따라 변환된 문자열이고,
unicode 타입은 문자열이 로케일에 상관없이 통일된 문자체계를 가지는 코드로 변환된 것이다.
>>> type('파이썬')
(type 'str')
>>> type(u'파이썬')
(type 'unicode')


4. 인코딩 vs. 디코딩
파이썬에서는 유니코드가 기본 코드인 것 같다. 따라서
유니코드 --> 다른 CharacterSet : 인코딩(encode)
다른 CharacterSet --> 유니코드 : 디코딩(decode)
이러한 공식이 성립한다.
이를 확인하기 위해 다음과 같이 해볼 수 있다. (윈도우 환경-cp949-이다)
>>> s='파이썬'
>>> u=u'파이썬'
>>> s==u
False
>>> s.decode('cp949')==u
True
>>> s==u.encode('cp949')
True



오..파이썬 매니아이신가요? 저도 1.5 버전때 배워서 지금까지 유용하게 사용하고 있습니다.~~ ^^; 이왕 한글 인코딩 정리하시는 김에 Unix 나 Linux 계열 locale 관련 내용도 정리해주시면 저도 유용하게 읽어볼 수 있을것 같습니다
2008.07.01 20:24
아직 초보자입니다ㅠ 후배가 추천해주어서 한달째 파이썬만 쓰고 있는데 점점 매니아가 되고 있는 중이랍니다^^ 1.5때부터 사용하셨다니... 파이썬에 대해 궁금한 점이 생기면 Tida님께 상담을 드려야겠네요!! (Unix/Linux locale에 관해서는 잘 모르지만 공부하는 셈 치고 정리해보겠습니다^^)

2008.07.01 21:46 신고

 이전  123456789···21   다음 

최근트랙백
fotowall :: ncloud RSS Feeds today : 2   yesterday : 5
total : 79,369