2026. 10. 07 작성
아스키코드표 — A는 65, a는 97인 규칙과 한글 한 글자가 3바이트인 이유
아스키코드는 영문·숫자·기호 128개에 0~127 번호를 붙인 표입니다. 대문자 A는 65, 소문자 a는 97이라 둘은 늘 32 차이가 납니다. 출력 가능한 95글자 번호표, 숫자 0~9와 알파벳 번호를 외우지 않고 구하는 규칙, 한글이 아스키에 없어 EUC-KR에선 2바이트·UTF-8에선 3바이트가 되는 이유를 정리했습니다. 이진수와 UTF-8 바이트는 Tooly 이진수 변환기 실행값입니다.
컴퓨터는 글자를 숫자로 저장합니다. 대문자 A는 65, 소문자 a는 97, 숫자 0은 48입니다. 이 번호를 정해 둔 표가 아스키코드(ASCII)입니다. A를 넣고 이진수로 바꾸면 01000001이 나오는데, 이게 65를 2진수로 쓴 모양입니다.
아스키는 1963년 미국 표준(ASA X3.4)으로 처음 나왔습니다. 지금 쓰는 표는 7비트로 0부터 127까지 128개 번호를 씁니다. 그중 95개가 화면에 찍히는 글자, 33개는 줄바꿈·탭처럼 눈에 안 보이는 제어 문자입니다. 아래 이진수는 모두 Tooly 텍스트 → 이진수 변환기에 직접 넣어 나온 값입니다.
화면에 찍히는 95글자 번호표
32 (공백)
33 ! 34 " 35 # 36 $ 37 %
38 & 39 ' 40 ( 41 ) 42 *
43 + 44 , 45 - 46 . 47 /
48 0 49 1 50 2 51 3 52 4
53 5 54 6 55 7 56 8 57 9
58 : 59 ; 60 < 61 = 62 >
63 ? 64 @
65 A 66 B 67 C 68 D 69 E
70 F 71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N 79 O
80 P 81 Q 82 R 83 S 84 T
85 U 86 V 87 W 88 X 89 Y
90 Z
91 [ 92 \ 93 ] 94 ^ 95 _
96 `
97 a 98 b 99 c 100 d 101 e
102 f 103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n 111 o
112 p 113 q 114 r 115 s 116 t
117 u 118 v 119 w 120 x 121 y
122 z
123 { 124 | 125 } 126 ~
숫자는 10진수 번호입니다. 16진수로 쓸 때는 A가 0x41, a가 0x61, 0이 0x30입니다.
외우지 않고 번호를 구하는 규칙
표를 매번 찾지 않아도 되는 규칙이 셋 있습니다.
| 글자 | 번호 구하기 | 예 |
|---|---|---|
| 숫자 0~9 | 48 + 그 숫자 | 7 → 55 |
| 대문자 A~Z | 64 + 알파벳 순서 | K(11번째) → 75 |
| 소문자 a~z | 대문자 번호 + 32 | k → 107 |
대문자와 소문자가 정확히 32 차이 나는 데는 이유가 있습니다. 이진수로 보면 비트 하나만 다릅니다.
| 글자 | 번호 | 이진수(도구 결과) |
|---|---|---|
| A | 65 | 01000001 |
| a | 97 | 01100001 |
| 0 | 48 | 00110000 |
| 공백 | 32 | 00100000 |
A와 a는 왼쪽에서 세 번째 자리만 0과 1로 다릅니다. 그 자리가 32를 뜻합니다. 숫자 0의 이진수 00110000은 오른쪽 네 자리가 0000이라, 숫자 7을 넣으면 오른쪽 네 자리가 7을 뜻하는 0111이 됩니다. 영문 "Hi"를 넣으면 01001000 01101001, 곧 72와 105가 나옵니다.
눈에 안 보이는 0~31번
0~31번과 127번은 제어 문자입니다. 지금도 자주 만나는 건 셋입니다.
- 9번 탭 — 탭 키
- 10번 LF(줄바꿈) — 리눅스와 요즘 맥의 텍스트 파일은 줄 끝에 10번 하나를 씁니다
- 13번 CR — 윈도 프로그램은 보통 줄 끝에 13번과 10번을 둘 다 씁니다
윈도에서 만든 텍스트 파일을 리눅스 서버에서 열었을 때 줄 끝에 ^M이 보인다면, 이 13번이 남은 것입니다.
아스키에 한글이 없어서 생긴 일
아스키에는 영문·숫자·기호만 있고 한글이 없습니다. 그래서 나라마다 따로 표를 만들었습니다. 한국 표준 KS X 1001은 자주 쓰는 완성형 한글 2,350자를 담았고, 이 표를 쓰는 EUC-KR 방식은 한글 한 글자를 2바이트로 적습니다. 현대 한글로 조합할 수 있는 글자는 초성 19 × 중성 21 × 종성 28(받침 없음 포함) = 11,172자인데, 2,350자에 없는 글자는 이 방식으로 적을 수 없었습니다. 그래서 마이크로소프트가 나머지 8,822자를 덧붙인 CP949(통합형 한글 코드)를 만들었고, 여기서는 11,172자를 모두 2바이트로 적습니다.
유니코드는 이 11,172자를 모두 담았습니다. 한글 음절 자리는 U+AC00(가)에서 U+D7A3(힣)까지, 가는 10진수로 44,032번입니다.
한글 한 글자가 3바이트인 이유
웹은 유니코드를 거의 다 UTF-8 방식으로 씁니다. 문자 인코딩을 알 수 있는 웹사이트의 99.1%가 UTF-8입니다(W3Techs 2026년 10월 6일). UTF-8은 글자 번호가 클수록 바이트를 더 씁니다(RFC 3629).
| 글자 | 유니코드 번호 | UTF-8 바이트 수 | 이진수(도구 결과) |
|---|---|---|---|
| A | U+0041 | 1 | 01000001 |
| é | U+00E9 | 2 | 11000011 10101001 |
| 가 | U+AC00 | 3 | 11101010 10110000 10000000 |
| 활짝 웃는 얼굴 이모지 | U+1F600 | 4 | 11110000 10011111 10011000 10000000 |
127번까지는 아스키와 똑같은 1바이트입니다. 그래서 영문만 담긴 옛 아스키 파일은 UTF-8로 읽어도 그대로 읽힙니다. 한글 음절은 3바이트 구간(U+0800~U+FFFF)에 있어서 한 글자가 3바이트입니다. "한글" 두 글자를 넣으면 이진수 묶음이 여섯 개 나옵니다.
바이트의 앞자리를 보면 몇 바이트짜리 글자인지 보입니다. 가의 첫 바이트는 1110으로 시작하는데, 이것이 "세 바이트짜리 글자의 첫 바이트"라는 표시입니다. 뒤따르는 두 바이트는 10으로 시작합니다.
같은 3바이트를 다른 곳에서도 만납니다. 한글이 든 인터넷 주소를 복사해 붙여 보면 가가 %EA%B0%80으로 나오는데, 16진수로 쓴 EA·B0·80이 바로 위 세 바이트입니다. 자세한 내용은 URL 인코딩에 정리해 두었습니다.
한글 한 글자는 몇 바이트인가요
어떤 방식으로 저장하느냐에 따라 다릅니다.
| 저장 방식 | 한글 한 글자 | 영문·숫자 한 글자 |
|---|---|---|
| UTF-8(웹 페이지 등) | 3바이트 | 1바이트 |
| EUC-KR·CP949(예전 한글 문서, 한국어 윈도의 일부 프로그램) | 2바이트 | 1바이트 |
| UTF-16 | 2바이트 | 2바이트 |
문자 메시지는 한글을 2바이트로 세는 경우가 많습니다. 문자 발송 서비스들은 단문(SMS)을 90바이트까지로 보고 한글 한 글자를 2바이트로 계산해, 한글 45자를 넘으면 장문(LMS, 2,000바이트까지)으로 바꿔 보냅니다(비즈고 안내, 메세지미 안내). 같은 한글 45자가 UTF-8로는 135바이트입니다.
도구로 직접 확인하는 순서
- 텍스트 → 이진수 변환의 인코딩할 텍스트를 입력하세요 칸에 글자를 넣습니다.
- 이진수로 변환을 누르면 변환된 이진수 칸에 UTF-8 바이트가 8자리씩 띄어서 나옵니다. 복사로 가져갈 수 있습니다.
- 거꾸로 확인하려면 이진수 → 텍스트 변환에 8자리 묶음을 빈칸으로 띄어 넣고 이진수 디코딩을 누릅니다.
01000001은 A,11101010 10110000 10000000은 가로 돌아옵니다.
이진수 → 텍스트는 8자리씩 띄어 써야 합니다. 빈칸 대신 줄을 바꿔 나눠도 됩니다. 0100100001101001처럼 붙여 쓰거나, 11111111처럼 UTF-8로 읽을 수 없는 바이트를 넣으면 결과 대신 "올바른 이진수 형식이 아닙니다"라는 안내가 나옵니다. 가의 세 묶음 가운데 하나만 빠뜨려도 같은 안내가 나옵니다.
자주 묻는 질문
아스키코드에 한글이 있나요?
없습니다. 아스키는 0~127번, 영문·숫자·기호와 제어 문자뿐입니다. 한글은 EUC-KR이나 유니코드 같은 다른 표에 있습니다.
대문자를 소문자로 바꾸려면 번호를 어떻게 하나요?
32를 더합니다. B(66)에 32를 더하면 b(98)입니다. 영문 대소문자를 한꺼번에 바꾸려면 대소문자 변환을 쓰면 됩니다.
A의 16진수 41은 무슨 뜻인가요?
16진수 41은 4×16 + 1 = 65입니다. 같은 번호를 16진수로 적은 것뿐입니다.
이모지는 몇 바이트인가요?
번호 하나로 된 이모지는 대부분 U+10000 위쪽 번호라 UTF-8로 4바이트입니다. 피부색을 고른 손이나 국기처럼 번호 여러 개를 이어 만든 이모지는 8바이트 이상이고, 빨간 하트처럼 모양 지정 번호(U+FE0F)가 붙는 기호는 6바이트, 오래전부터 있던 일부 기호는 3바이트입니다. 문자 메시지는 UTF-8과 다른 방식으로 세는데, 문자 발송 서비스들은 이모지와 일부 특수문자를 3바이트 이상으로 잡아 45자가 안 돼도 장문으로 바뀔 수 있다고 안내합니다(비즈고 안내).
이진수 값은 2026년 10월 7일 Tooly 텍스트 → 이진수·이진수 → 텍스트 변환기에서 직접 확인한 값입니다.