ASCII 표

ASCII 표 (ASCII Chart)

문자가 메모리에서 어떤 숫자로 표현되는지 정답지가 되는 게 ASCII 표예요. 이 페이지는 ASCII 코드 0부터 127까지를 십진수(dec), 팔진수(oct), 십육진수(hex), 문자(ch) 네 가지로 정리한 표와, 그걸 출력하는 예시 코드를 담고 있어요.

출처: cppreference

본문

아래 표는 128개의 ASCII 코드 전부를 십진수(dec), 팔진수(oct), 십육진수(hex), 문자(ch)로 보여줘요.

참고: 유니코드에서 ASCII 문자 블록은 U+0000..U+007F Basic Latin이라고 불러요.

ASCII 코드 표

0–31 (제어 문자)

dec oct hex ch
0 0 00 NUL (null)
1 1 01 SOH (start of header)
2 2 02 STX (start of text)
3 3 03 ETX (end of text)
4 4 04 EOT (end of transmission)
5 5 05 ENQ (enquiry)
6 6 06 ACK (acknowledge)
7 7 07 BEL (bell)
8 10 08 BS (backspace)
9 11 09 HT (horizontal tab)
10 12 0a LF (line feed - new line)
11 13 0b VT (vertical tab)
12 14 0c FF (form feed - new page)
13 15 0d CR (carriage return)
14 16 0e SO (shift out)
15 17 0f SI (shift in)
16 20 10 DLE (data link escape)
17 21 11 DC1 (device control 1)
18 22 12 DC2 (device control 2)
19 23 13 DC3 (device control 3)
20 24 14 DC4 (device control 4)
21 25 15 NAK (negative acknowledge)
22 26 16 SYN (synchronous idle)
23 27 17 ETB (end of transmission block)
24 30 18 CAN (cancel)
25 31 19 EM (end of medium)
26 32 1a SUB (substitute)
27 33 1b ESC (escape)
28 34 1c FS (file separator)
29 35 1d GS (group separator)
30 36 1e RS (record separator)
31 37 1f US (unit separator)

32–63 (문장 부호와 숫자)

dec oct hex ch
32 40 20 (space)
33 41 21 !
34 42 22 "
35 43 23 #
36 44 24 $
37 45 25 %
38 46 26 &
39 47 27 '
40 50 28 (
41 51 29 )
42 52 2a *
43 53 2b +
44 54 2c ,
45 55 2d -
46 56 2e .
47 57 2f /
48 60 30 0
49 61 31 1
50 62 32 2
51 63 33 3
52 64 34 4
53 65 35 5
54 66 36 6
55 67 37 7
56 70 38 8
57 71 39 9
58 72 3a :
59 73 3b ;
60 74 3c <
61 75 3d =
62 76 3e >
63 77 3f ?

64–95 (대문자와 기호)

dec oct hex ch
64 100 40 @
65 101 41 A
66 102 42 B
67 103 43 C
68 104 44 D
69 105 45 E
70 106 46 F
71 107 47 G
72 110 48 H
73 111 49 I
74 112 4a J
75 113 4b K
76 114 4c L
77 115 4d M
78 116 4e N
79 117 4f O
80 120 50 P
81 121 51 Q
82 122 52 R
83 123 53 S
84 124 54 T
85 125 55 U
86 126 56 V
87 127 57 W
88 130 58 X
89 131 59 Y
90 132 5a Z
91 133 5b [
92 134 5c \
93 135 5d ]
94 136 5e ^
95 137 5f _

96–127 (소문자와 기호)

dec oct hex ch
96 140 60 `
97 141 61 a
98 142 62 b
99 143 63 c
100 144 64 d
101 145 65 e
102 146 66 f
103 147 67 g
104 150 68 h
105 151 69 i
106 152 6a j
107 153 6b k
108 154 6c l
109 155 6d m
110 156 6e n
111 157 6f o
112 160 70 p
113 161 71 q
114 162 72 r
115 163 73 s
116 164 74 t
117 165 75 u
118 166 76 v
119 167 77 w
120 170 78 x
121 171 79 y
122 172 7a z
123 173 7b {
124 174 7c |
125 175 7d }
126 176 7e ~
127 177 7f DEL (delete)

예시

출력 가능한 ASCII 문자(32~126)를 순서대로 찍어보는 코드예요.

#include <stdio.h>

int main(void)
{
    puts("Printable ASCII:");
    for (int i = 32; i < 127; ++i) {
        putchar(i);
        putchar(i % 16 == 15 ? '\n' : ' ');
    }
}

가능한 출력:

Printable ASCII:
  ! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~

i % 16 == 15인 순간마다 줄바꿈을 넣어서, 16문자씩 여섯 줄로 나뉘는 걸 확인할 수 있어요.

더 알아보기

  • 문자를 표현하는 C 타입과 문자 리터럴의 차이는 문자 리터럴 문서에서 볼 수 있어요.
  • 인코딩과 유니코드에 대해 더 알고 싶다면 문자 집합 관련 문서를 참고하면 좋아요.
  • cppreference의 ASCII 표 원문을 참고할 수 있어요.