티스토리 뷰

먼저, 아스키코드란 미국정보교환표준부호 (American Standard Code for Information Interchange - ASCII)의 줄임말로 대표적인 문자 인코딩 방법을 의미한다.

(https://ko.wikipedia.org/wiki/ASCII)

 

파이썬에서는 ord()와 chr()함수를 이용하여 아스키코드를 활용할 수 있다.

 

ord() 함수는 문자를 아스키코드로 변환해 준다. 한글과 특수문자역시 가능하다.

>>> ord('a')
	97
    
>>> ord('h')
	104
    
>>> ord('ㄷ')
	12599
    
>>> ord('@')
	64

 

chr() 함수는 반대로 아스키코드를 문자로 변환해 준다.

>>> chr(97)
	'a'
    
>>> chr(104)
	'h'
    
>>> chr(12599)
	'ㄷ'
    
>>> chr(64)
	'@'

 

만약 텍스트의 알파벳을 그 다음 순서의 알파벳으로 변경해야하는 문제가 주어졌다고 해보자.

이 두 함수를 사용하지 않았을 때 코드가 아래와 같다면

text = 'abcd'
alphabet_list = [w for w in 'abcdefghijklmnopqrstuvwxyz']
sol = ''
for w in text:
    if w=='z':
        sol += 'a'
    else:
        sol += alphabet_list[alphabet_list.index(w)+1]
        
>>> sol
	'bcde'

 

ord() chr()함수를 사용했을 때 코드가 다음과 같이 간단해질 수 있다.

text = 'abcd'
sol = ''.join(chr(ord('a'))if w=='z' else chr(ord(w)+1) for w in text)

>>> sol
	'bcde'

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함