Python 유니코드(Unicode) 문자열 사용 방법 예제

파이썬에서는 일반 문자열과는 별도로 유니코드 문자열 형태가 있습니다.

일반 문자열은 8비트 문자열로, 하나의 문자를 여러 개의 바이트에 분해해서 저장합니다. 

파이썬으로 문자를 처리할 때 바이트 단위로 처리를 해야 하는 경우가 있습니다.

유니코드(Unicode) 문자열은 문자를 Unicode로 취급하기 때문에 영어나 한국어등의 ASCII 문자로 되어있어도 한 개 문자를 하나씩 다룹니다.

즉, 일반 문자열은 바이트 단위로 처리 하지만, 유니코드 문자열에서는 문자 단위로 처리하게 됩니다.

한글을 글자 깨짐 없이 사용하고 싶은 경우에는 유니코드 문자열을 사용하면 됩니다.

유니코드 문자열을 작성할 경우 각자 사용하는 환경에서 설정한 문자코드에 따라 다릅니다.

우선 [UTF-8]을 사용하는 경우입니다.

u”문자열”

U’문자열’

u”문자열”

U’문자열’

[UTF-8]를 사용하고 있는 경우에는 간단합니다.

문자열 앞에 [u]또는 [U]를 붙여주면 유니코드 문자열이 됩니다.

[Shift_JIS]또는 [EUC-KR]을 사용하고 있는 경우 유니코드 문자열 사용방법입니다.

unicode("문자열", "Shift_JIS")
unicode("문자열", "EUC-KR")

[unicode] 함수는 파이썬에서 제공되는 함수입니다.

1번째 파라미터에는 대상 문자열, 2번째 파라미터에는 문자 코드를 지정합니다.

지정한 문자 코드를 사용해서 디코드(decode) 한 결과를 취득해서 유니코드 문자열을 반환합니다.

작성된 유니코드 문자열은 일본 문자열과 거의 똑같이 사용할 수 있습니다. 

print u"문자열"

이스케이프 처리도 똑같이 동작합니다.

print u"안녕하세요¥n반갑습니다."

그리고 이스케이프 처리를 사용하고 싶지 않은 경우에는 raw문자열과 같이 사용할 수 있습니다.

print ur"안녕하세요¥n반갑습니다."

샘플코드

#coding: UTF-8

print u"안녕하세요¥n반갑습니다."
print u"apple은 사과입니다."

결과

안녕하세요

반갑습니다.

apple은 사과입니다.

댓글