반응형
안녕하세요. 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 함수에 대해서 알아보았습니다.
감사합니다.
반응형
'<개인공부> > [Python]' 카테고리의 다른 글
[python] 파이썬 시간 측정, 프로그램 시간 측정 방법 (0) | 2021.06.21 |
---|---|
[python] 파이썬 __name__ 전역 변수에 대해서 (1) | 2021.06.15 |
[python] 파이썬 모듈 만드는법, 사용법 (0) | 2021.06.14 |
[python] 파이썬 리스트 중복 제거 방법 3가지 (0) | 2021.06.11 |
[python] 파이썬 클립보드, 복사, 붙여넣기 모듈 사용법 (2) | 2021.06.09 |
[python] 파이썬 isinstance 타입 확인 함수 설명과 예제 (0) | 2021.06.08 |
[python] 파이썬 구글 번역 api 사용하기 (최신버전) (1) | 2021.06.07 |
[python] 파이썬 pass 설명과 예제 (0) | 2021.06.04 |