더북(TheBook)

예를 들어 대문자 ‘A’는 10진수로는 65고 16진수로는 0x41입니다. 소문자 ‘a’는 10진수로는 97이고 16진수로는 0x61입니다. 숫자 문자인 ‘0’은 10진수로는 48이고 16진수로는 0x30입니다.

>>> ch = 'A'

>>> bch = ch.encode()

>>> bch

b'A'

>>> bch[0]

65


마지막 출력 값을 보면 대문자 ‘A’가 정수 65와 매핑되었음을 알 수 있습니다. 숫자 문자 ‘0’도 확인해 보겠습니다.

>>> ch_0 = '0'

>>> bch_0 = ch_0.encode()

>>> bch_0

b'0'

>>> bch_0[0]

48


숫자 문자 ‘0’은 정수 48과 매핑되었음을 알 수 있습니다.

아스키코드를 보면 정수 0부터 127까지 문자와 매핑되어 있습니다. 2진수로 0000 0000(0)부터 0111 1111(127)까지이므로 표현하는 데 최대 7비트가 필요합니다. 정수를 나타내는 데 쓰는 자료형은 바이트 수에 따라 다양한데, int형이 가장 많이 쓰입니다. int형은 32비트 컴퓨터에서 일반적으로 4바이트(32비트)입니다. 이보다 작은 short형은 2바이트(16비트)입니다. 아스키코드를 표현하는 데는 7비트면 충분하므로 int형이나 short형을 쓰면 메모리가 낭비됩니다. 그래서 문자를 표현하기 위해 char형이라는 새로운 정수 자료형을 만들었습니다. char형은 문자를 담기 위해 만들어진 자료형이지만 정수 자료형이므로 작은 수를 표현하는 데 사용하기도 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.