Python에서 단일 문자를 정수로 변환하기
컴퓨터에서 모든 문자는 고유한 숫자 값과 연결되어 있습니다. 영문 알파벳, 숫자, 특수 기호 등은 각각 ASCII 코드라 불리는 고유한 정수 값을 가지며, Python에서는 내장 함수인 ord()를 사용하여 이 값을 손쉽게 얻을 수 있습니다.
ord() 함수의 사용법
ord() 함수는 단일 문자를 인자로 받아 해당 문자의 ASCII(또는 유니코드) 코드 포인트를 정수 형태로 반환합니다.
>>> ord('A')
65
>>> ord('+')
43
>>> ord(' ')
32위 예시에서 볼 수 있듯이, 대문자 'A'는 65, 덧셈 기호 '+'는 43, 공백 문자는 32라는 정수 값으로 변환됩니다.
유니코드 문자도 지원합니다
Python 3의 ord() 함수는 ASCII뿐만 아니라 유니코드 문자도 처리할 수 있습니다. 따라서 한글과 같은 다국어 문자의 코드 값도 구할 수 있습니다.
>>> ord('가')
44032
>>> ord('a')
97반대 변환: chr() 함수
정수 값을 다시 문자로 되돌리고 싶다면 chr() 함수를 사용하면 됩니다. 이는 ord()와 정확히 반대되는 동작을 수행합니다.
>>> chr(65) 'A' >>> chr(44032) '가'
정리
Python에서 단일 문자를 정수 값으로 변환하려면 ord() 함수를 사용하고, 그 반대의 경우에는 chr() 함수를 사용하면 됩니다. 두 함수는 문자와 숫자 간 변환이 필요한 다양한 상황(예: 암호화, 문자 코드 계산, 시저 암호 구현 등)에서 매우 유용하게 활용됩니다.