컴퓨터는 ‘A’나 ‘a’ 같은 문자를 있는 그대로 이해하지 못한다. 모든 문자는 내부적으로 고유한 정수 숫자로 매핑되어 저장되는데, 이 매핑 규칙의 표준이 바로 아스키(ASCII) 코드다.

정보처리기사 실기 시험의 알고리즘 코드 리딩 문제에서도 배열 탐색과 함께 문자열을 아스키코드 연산으로 조작(대소문자 변환 등)하는 로직이 단골로 출제되므로 확실히 이해해 두어야 한다.

1. 꼭 외워둬야 할 핵심 아스키 코드

  • 'A' = 65 ('B'는 66, 'C'는 67…)
  • 'a' = 97 ('b'는 98, 'c'는 99…)
  • '0' = 48 (문자열 숫자 0. 숫자 0과 다름!)

💡 핵심 팁: 대문자와 소문자의 아스키코드 차이는 32다. 즉, 대문자에 32를 더하면 소문자가 되고, 소문자에서 32를 빼면 대문자가 된다.

2. 문자와 숫자의 형변환 연산

char 타입 변수는 사실상 정수를 담고 있기 때문에, 정수형(int)과 자유롭게 연산 및 형변환이 가능하다.

// [아스키 코드 및 문자 연산 예제]
char c1 = 'A';
int ascii = (int) c1; // 명시적 형변환으로 아스키 숫자 확인
System.out.println("'A'의 아스키 코드: " + ascii); // 65 출력

char c2 = 'a';
// 소문자 'a'(97)에서 32를 빼면 대문자 'A'(65)가 됨 (강제 캐스팅 필요)
char upperC2 = (char) (c2 - 32); 
System.out.println("'a'를 대문자로 변환: " + upperC2); // A 출력

// [알고리즘에서 자주 쓰는 알파벳 순회]
for (char c = 'A'; c <= 'Z'; c++) {
    System.out.print(c + " "); // A B C D ... Z 출력
}

💡 주요 아스키(ASCII) 코드

숫자 (10진수) 문자 대문자 (10진수) 문자 소문자 (10진수) 문자
48 0 65 A 97 a
49 1 66 B 98 b
50 2 67 C 99 c
51 3 68 D 100 d
52 4 69 E 101 e
53 5 70 F 102 f
54 6 71 G 103 g
55 7 72 H 104 h
56 8 73 I 105 i
57 9