1. 연구 모듈/Python
[Python] 파이썬에서 문자열 처리 (파이썬 2.X)
사용자-1
2017. 5. 4. 05:46
파이썬에서 문자열은 바이트 코드와 유니코드로 나뉜다.
유니코드 >>> 바이트 코드로 변환하기 위해서는 encode() 함수가 사용된다.
바이트 코드 >>> 유니코드로 변환하기 위해서는 decode() 함수가 사용된다.
str = ustr.encode("UTF–8") # 유니코드에서 UTF–8 바이트 코드로 변환 ustr = str.decode("UTF–8") # UTF–8 바이트 코드에서 유니코드로 변환
type() 함수를 사용하여 어떤 문자열이 유니코드인지 바이트 코드인지 알아낼 수 있다.
print type(str) # 바이트 코드일 경우 -> <type 'str'> print type(ustr) # 유니코드일 경우 -> <type 'unicode'>
소스 코드 상에서 대입시,
# -*- coding: utf-8 -*-
myStr = "가나다"
myStr의 타입 -> utf-8의 <type 'str'>
[2]
# -*- coding: cp949 -*-
myStr = "가나다"
myStr의 타입 -> cp949의 <type 'str'>
[3]
myStr = u"가나다"
myStr의 타입 -> <type 'unicode'>
'# -*- coding: ~' 을 붙이지 않을 경우, 시스템 로케일인 cp949의 <type 'str'>로 적용되어야 할 것 같은데, 실제 테스트 결과는 utf-8로 적용된다??
[참고] 이것은 파이썬 2.X 대에서 적용되는 내용이고, 파이썬 3.X 대에서는 방식이 약간 달라지게 되는데...
테스트 환경 - OS : Windows 7 - Python 버전 : 2.7