<개인공부>/[Python]

[python] 파이썬 ord 함수, chr 함수 설명과 예제

BlockDMask 2021. 6. 10. 00:30
반응형

안녕하세요. BlockDMask입니다.
오늘은 아스키코드 변환하는 함수인 ord, chr 함수에 대해서 알아보겠습니다.

<목차>
1. ord 함수, chr 함수 설명
2. ord 함수, chr 함수 예제

 

 

1. 파이썬 ord 함수, chr 함수 기본 설명


2-1) ord(문자)

하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환합니다.

ord('a')를 넣으면 정수 97을 반환합니다.

 

2-2) chr(정수)

하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환합니다.

인자(정수)의 유효 범위는 0 ~ 1,114,111 (16진수 0x10 FFFF)까지 입니다.

chr(97)을 하면 문자 'a'를 반환합니다.

 

 

2. 파이썬 ord, chr 함수 예제


2-1) 기본 사용

result1 = ord('a')
result2 = ord('ㄱ')
result3 = hex(ord('b'))
print(f"ord('a') : {result1}")
print(f"ord('ㄱ') : {result2}")
print(f"hex(ord('b')) : {result3}\n")


result4 = chr(97)
result5 = chr(12593)
result6 = chr(0x62)
print(f"chr(97) : {result4}")
print(f"chr(12593) : {result5}")
print(f"chr(0x62) : {result6}")

ord (문자)를 이용해서 해당 문자에 해당하는 유니코드 정수가 잘 반환된 것을 볼 수 있습니다.
나온 유니코드 10진수를 16진수로 변경하고 싶다면 hex(.. )로 감싸주면 됩니다.

chr(숫자)를 이용해서 숫자에 해당하는 문자를 반환할 수 있습니다.
chr 함수도 마찬가지로 10진수, 16진수도 가능합니다.

 

 

2-2) for 반복문을 이용해서 연속된 값 변환

arr1 = []
arr2 = []

for val in range(97, 123):
    arr1.append(chr(val)) # a ~ z

for val in range(12593, 12623):
    arr2.append(chr(val)) # ㄱ ~ ㅎ

print(f"chr(97) ~ chr(122) : {arr1}")
print(f"chr(12593) ~ chr(12622) : {arr2}")

print()

print(f"ord('a') ~ ord('z') : ", end="")
for val in arr1:
    print(ord(val), end=" ")


print()
print(f"ord('ㄱ') ~ ord('ㅎ') : ", end="")
for val in arr2:
    print(ord(val), end=" ")

이렇게 a~z 문자와 97~122 숫자가 서로 변환하는 것을 볼 수 있었습니다.
'ㄱ'~'ㅎ' 문자 또한 12593 ~ 12622 숫자와 함께 대응되는 것을 볼 수 있습니다.

 

이상으로 ord, chr 함수에 대해서 알아보았습니다.
감사합니다.

반응형