이 튜토리얼에서는 파이썬의 ascii() 함수에 대해 자세히 알아보겠습니다.
ascii(object) 함수란?
ascii() 함수는 하나의 인자를 받아 해당 객체를 출력 가능한(printable) 문자열 형태로 변환하여 반환합니다.
문자열 내에 ASCII 범위(0~127)를 벗어나는 문자가 포함되어 있으면, 이 함수는 해당 문자들을 \x, \u, \U 형식의 이스케이프 시퀀스로 자동 변환해 줍니다. 이는 repr() 함수와 유사하지만, ASCII가 아닌 문자까지 모두 이스케이프 처리한다는 점에서 차이가 있습니다.
기본 문법
ascii(object)
ascii() 함수 사용 예제
예제 1: 출력 불가능한 문자 처리
# 출력 불가능한(non-ASCII) 문자 초기화 string = '¢' # ascii() 함수로 해당 문자 출력 print(ascii(string))
출력 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
'\xa2'
센트 기호(¢)는 ASCII 범위를 벗어나는 문자이므로 \xa2 형태의 16진수 이스케이프 시퀀스로 변환된 것을 확인할 수 있습니다.
예제 2: 여러 개의 특수 문자 처리
# 특수 문자가 포함된 문자열 초기화 name = 'HÃFÆËŽ' # ascii() 함수로 해당 문자열 출력 print(ascii(name))
출력 결과
'H\xc3F\xc6\xcb\u017d'
각각의 특수 문자들이 \xc3, \xc6, \xcb, \u017d와 같은 이스케이프 시퀀스로 변환되었습니다.
예제 3: 리스트 객체 처리
ascii() 함수는 리스트와 같은 컬렉션 객체에도 사용할 수 있습니다.
# 특수 문자가 포함된 리스트 초기화 strings = ['HÃFÆËŽ', '®', '©Òpy'] # ascii() 함수로 리스트 출력 print(ascii(strings))
출력 결과
['H\xc3F\xc6\xcb\u017d', '\xae', '\xa9\xd2py']
리스트 안의 모든 문자열 요소들에 대해 각각 이스케이프 처리가 적용된 것을 볼 수 있습니다.
정리
파이썬의 ascii() 함수는 객체를 ASCII 문자만으로 구성된 출력 가능한 형태로 변환할 때 매우 유용합니다. 특히 디버깅 과정에서 문자열에 숨어 있는 비ASCII 문자를 확인하고 싶을 때 활용하면 좋습니다.
튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요.