파이썬 chr() 사용법 2가지 및 주의사항

파이썬 chr() 함수는 문자 코드(ASCII 코드 또는 유니코드 코드 포인트)를 해당 문자로 변환해주는 유용한 기능입니다. 특히, 파이썬에서 문자 처리나 특수 문자 출력이 필요할 때 자주 활용됩니다. 이번 글에서는 chr() 함수의 기본적인 사용 방법과 활용법에 대해 알아보겠습니다.

파이썬 chr() 함수란?

Python chr() 함수는 정수를 입력받아 그 정수에 해당하는 문자를 반환합니다. 이때 입력하는 정수는 ASCII 코드(American Standard Code for Information Interchange) 또는 유니코드에 해당합니다.

예를 들어, ASCII 코드에서 숫자 97은 문자 ‘a’에 해당하며, 65는 문자 ‘A’에 해당합니다. chr() 함수를 사용하면 이 숫자들을 대응하는 문자로 변환할 수 있습니다.

ASCII 코드를 문자로 변환하기

다음은 chr() 함수를 사용하여 ASCII 코드를 문자로 변경하는 코드입니다.

Python
chr(97)
chr(65)

아래 그림에서 숫자 97이 ‘a’로, 65가 ‘A’로 변환되는 것을 볼 수 있습니다. 이와 같은 방식으로 다양한 숫자를 문자로 변환할 수 있습니다.

그림 1. 파이썬 chr()로 ascii 코드를 문자로 변환
그림 1. 파이썬 chr()로 ascii 코드를 문자로 변환

유니코드를 문자로 변환하기

chr() 함수는 ASCII 코드뿐만 아니라 유니코드도 지원합니다. 유니코드는 전 세계의 문자들을 표현하기 위한 국제 표준입니다. 유니코드는 다양한 언어의 문자를 포함하고 있어, chr() 함수를 사용하면 한국어, 이모지 등을 표현할 수 있습니다.

유니코드에서 12354는 일본어 ‘あ’에 해당하며, 29233은 중국어 ‘爱’, 44032는 한글 ‘가’에 해당합니다. 이를 chr() 함수로 변환하면 다음과 같습니다.

Python
chr(12354)
chr(29233)
chr(44032)
그림 2. 파이썬 chr()로 유니코드를 이용해 일본어, 중국어, 한글 출력
그림 2. 파이썬 chr()로 유니코드를 이용해 일본어, 중국어, 한글 출력

또한, 이모지 같은 특수 문자를 출력할 때도 chr() 함수를 사용할 수 있습니다. 예를 들어, 이모지 ‘😊’는 유니코드 128522번에 해당합니다. 특히 소셜 미디어나 웹 페이지에 이모지를 삽입할 때 유용합니다. 이모지의 유니코드 값을 알면 쉽게 출력할 수 있습니다.

Python
chr(128522)
chr(128515)
chr(128516)
chr(128517)
그림 3. 파이썬 chr()로 유니코드를 이용해 이모지 😊😃😄😅 출력
그림 3. 파이썬 chr()로 유니코드를 이용해 이모지 😊😃😄😅 출력

chr() 함수의 유용한 활용 방법

파이썬 ord() 함수와 함께 사용하기

파이썬에서는 ord() 함수와 chr() 함수를 함께 사용하여 ASCII 코드와 문자를 상호 변환할 수 있습니다. 예를 들어, 문자를 ASCII 코드로 변환한 후 다시 chr()로 되돌리는 방법입니다.

Python
ascii_code = ord('A')
print(ascii_code)
chr(ascii_code)
그림 4. 파이썬 ord()로 ascii 코드 구한 후 다시 chr() 사용해서 문자로 변환하기
그림 4. 파이썬 ord()로 ascii 코드 구한 후 다시 chr() 사용해서 문자로 변환하기

이렇게 하면 문자의 ASCII 코드를 알고 있거나 계산해도 쉽게 문자로 변환할 수 있습니다.

특수 문자 출력

chr() 함수를 사용하여 특수 문자를 출력할 때 매우 유용합니다. 예를 들어, 줄 바꿈 문자인 '\n'을 ASCII 코드로 출력하거나, 공백 문자인 '\t' 같은 특수 문자를 코드를 통해 확인할 수 있습니다.

Python
chr(10)
chr(9)
그림 5. 파이썬 chr()로 특수 문자를 확인하기
그림 5. 파이썬 chr()로 특수 문자를 확인하기

이 외에도 다양한 특수 문자들을 코드로 변환해 보고 활용할 수 있습니다.

주의사항: 범위를 벗어난 숫자 입력

chr() 함수에 유효하지 않은 숫자를 입력하면 오류가 발생합니다. 예를 들어, ASCII 코드의 범위를 벗어난 값(예: 음수)이 입력될 경우 ValueError가 발생합니다.

Python
try:
    print(chr(-1))
except ValueError as e:
    print(f"Ocurred Error: {e}")

따라서 chr() 함수를 사용할 때는 항상 입력하는 숫자가 올바른 범위 내에 있는지 확인해야 합니다. 아래 ValueError에서는 chr() arg not in range(0x110000)이라고 나옵니다. 16진수로 0x110000은 1,114,112이므로 유효한 범위는 0부터 1,114,111까지의 유니코드 값입니다.

그림 6. 파이썬 chr() 함수의 숫자 입력 범위 0~1114111
그림 6. 파이썬 chr() 함수의 숫자 입력 범위 0~1114111

chr() 함수 활용법 요약

  1. chr() 함수는 정수를 문자로 변환해주는 파이썬 내장 함수입니다.
  2. ASCII 코드와 유니코드를 모두 지원하므로 다양한 문자를 출력할 수 있습니다.
  3. ord() 함수와 함께 사용하면 ASCII 코드와 문자를 상호 변환할 수 있습니다.
  4. 특수 문자나 이모지를 출력할 때 유용하게 사용할 수 있습니다.
  5. 입력하는 숫자의 범위가 유효한지 확인해야 하며, 0~1,114,111 사이의 값만 입력 가능합니다.

정리

파이썬의 chr() 함수는 간단하면서도 매우 유용한 문자 변환 기능을 제공합니다. ASCII 코드뿐만 아니라 유니코드 문자를 다룰 수 있어, 다양한 문자와 이모지를 출력할 수 있습니다. 또한, 특수 문자를 다룰 때도 손쉽게 사용할 수 있어 다양한 활용도가 있습니다. 주의할 점은 입력하는 숫자가 유효한 범위에 있는지 확인하는 것이며, 특히 유니코드를 활용한 이모지 출력과 같은 방법은 SNS 개발과 관련된 분야에서 활용해 보세요.

참고자료

관련 포스트

Leave a Comment