본문 바로가기
Programming/Python

UniCode 연습 - 001

by The Programmer 2024. 10. 9.

1. Introduction

 

유니코드UniCode 출력 연습용 예제입니다. 유니코드는 키보드에 없는 수많은 문자들을 출력할 수 있게 도와줍니다. 다국어 표현에 주로 사용됩니다만, 영어 발음 기호같은 키보드에 없는 많은 신기한 특수 기호 출력에도 사용될 수 있습니다.

 

초보자 시절에는 많이 쓰이지 않아도 대략 기본적인 방법이라도 알고는 있어야 합니다.

 

Windows 11 한글 운영체제에서 실습한다고 가정합니다. 다음에 소개하는 경로를 따라 내장된 '문자표' 프로그램을 실행하고 폰트를 기본 폰트인  맑은 고딕과 D2 Coding으로 설정하고 다양한 문자를 출력해보는 연습을 해보겠습니다. D2 Coding 폰트는 Naver에서 제공하는 무료 사용 가능 한 최고급 폰트 중 하나입니다.

 

■ 실습에 필요한 준비물

 

1) Thonny IDE

2) 실습용 한글 폰트 2개 ( 맑은 고딕 폰트, D2 Coding 폰트)

D2 Coding 폰트사용자가 인터넷에서 다운로드 찾아서 설치해야 함. Naver나 구글 검색 권장.

3) '문자표' 프로그램 :  Windows 11 내장 프로그램 중 하나임. 'Windows 11 시작 메뉴 버튼 / 모든 앱 / Windows Tools / 문자표'

 

문자표 프로그램을 실행하고 문자표 상단에서 폰트를 지정하고, 하단에서 '고급 보기'에 체크, '분류 방법'에서 '유니코드 하위 범위'를 선택합니다. 귀엽게 생긴 작은 추가 창이 뜨면 필요한 영역을 목록에서 선택합니다. 그리고 문자를 고릅니다.

 

[ 키보드에 없는 유니코드 문자 입출력 연습 ]

 

실습 과정은

1) 문자표에서 폰트를 먼저 지정해주고

2) 귀여미 창에서 필요한 영역을 선택하고

3) 마음에 드는 글자를 마우스로 선택하는 순서로 진행하면 됩니다.

 

특정 유니코드 문자를 선택하면 문자표 하단 '상태표시줄'에 선택된 해당 문자 고유의 유니코드 번호가 나타납니다. 이 유니코드 번호가 해당 문자의 유니코드 고유 번호입니다. 

 

예를 들어,

1) '맑은 고딕' 폰트,

2) 유니코드 하위 범위로 '여러가지 기호, 딩뱃 기호' 영역 선택,

3) 별 모양 '문자'를 마우스로 클릭하면,

 

문자표 하단에 'U+2606: White Star'라고 고유 번호가 나타납니다. 여기서 U+는 유니코드 번호라는 것을 나타내고 2606이 고유 번호가 됩니다.

 

Python에서 키보드에 없는 유니코드 문자를 출력하려면 이 번호가 필요합니다. 아래 코드는 파이썬에서 유니코드를 출력하는 예제입니다. 유니코드라는 표시로 사용되는 'U+' 대신에 '\u'가 사용되는 것만 차이가 나고 번호는 같은 번호를 사용합니다.

 

Python 실습에 사용된 Thonny IDE 환경설정에서 Thonny IDE 편집기용 폰트를 D2 Coding으로 설정해 놓고 사용하기로 합니다. 그게 아니면 맑은 고딕으로.

 

Thonny IDE  환경설정과 D2 Coding 폰트에 대해서 다운로드 포함 좀 더 자세한 내용은 다음 글을 참고하세요.

 

▶▶ https://grammar.tistory.com/30

 

 

주. 지정한 폰트에 따라 출력 내용이 다른 부분이 있습니다.

(예, 사용자 지정 영역에서, 맑은 고딕 폰트와 D2 Coding 폰트를 비교해보세요. )

 

2. Code

 

# 이 부분은 그냥...  코드가 너무 단순해서, 세상에 그냥이란 없다.. 고는 하지만! 무시하세요.

a = [ "apple", "peach", "blueberry"]
b = ",".join(a)
print(b)

 

# 유니코드 출력 연습 부분. 지정한 폰트가 없으면 출력에 문제가 생길 수도 있습니다. 매우 높은 확률로!! ^.^;
for i in range(10):
    print("\u2605", end="")
    print("\u2606", end="")    
# 맑은 고딕 폰트, 여러가지 기호, 딩뱃 기호.
    print("\u24D2", end="")
    print("\u2606", end="")
    print("\u00A9", end="")   
 # 맑은 고딕, 일반 문장 부호, Copyright
    print("\u2606", end="")
    print("\u2606", end="")
    print("\u2665", end="")
    print("\u2211", end="")
    print("\u00A9", end="")
    print("\u2239", end="")
    print("\u24D8", end="")
    print("\u24BF", end="")
    print("\u24D0", end="")
    print("\u2234", end="")
    print("\u233B", end="")
    print("\u25D8", end="")
    print("\uE2AF", end="")    
# D2 Coding Font, User Def. Section.
    print("\uE2B0", end="")
    print("\u327F", end="")    
# 맑은 고딕 폰트, 표의 문자 기호 영역. 
    print("\uE2B0", end="")
    print("\uE2B0", end="")
    print("\uE2B0", end="")

 

3. Result

 

[ 유니코드 '문자' 출력, 우리들은 그림이 아닙니다! ^.^; ]

 

 

 

4. Notes

 

유니코드 문자들은 기호나 그림처럼 생겼다고 해도, 일단은 문자이기 때문에 if 문 등에서 문자 혹은 문자열 비교에도 사용될 수 있습니다.

 

■ 생각해 보세요 또는 주의 사항들. ^.^;

1) Windows 11 기본 폰트는 무엇일까요?

2) 사용자 영역 문자를 선택한 경우, 문제 발생 가능성. 주의.

3) Python 3 문자열은 기본이 유니코드라는 사실! 이것이 의미하는 바는...

4) C# 언어에서도 문자 집합(Character Set) 기본 설정값이 유니코드(UniCode)입니다. 그래서 변수명 같은 식별자(identifier) 또는 명칭들을 한국어-한글로도 만들 수 있습니다만, 코드 관리의 복잡성이 증가한다는 측면에서 거의 추천되지는 않습니다. 같은 이유로 Python에서도 한글 변수명도 가능하기는 합니다만 역시 추천되지 않는 사항입니다.

 

 

5. Files

 

Not yet! ^.^;

 

 

6. Ref.

1) 우재남, 파이썬 for Beginner. 2판. 한빛아카데미. 2020. pp. 166~167. (3판도 출간되었습니다.)

: 유니코드에 대한 언급은 몇 줄 되지 않습니다만.

 

2) 임좌상, 조용주 공저, [ 파이썬으로 배우는 프로그래밍 기초 ] 2018. INFINITYBOOKS. 경기 고양.

: 제 13장 파일에서 데이터 읽기 - 적당한 분량으로 UniCode에 대한 언급이 포함되어 있습니다. 이 13장은 매우 유용한 내용들이어서 별도로 읽을 만한 내용으로서 강력하게 추천될 만합니다.  강추 

 

Happy Programming!

^.^;