E,AHRSS

아스키 코드

last modified: 2015-03-28 12:29:35 Contributors

1275273992_asciitable.gif
[GIF image (Unknown)]

[1]

ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)
아스키 코드[2]
아스카 코드가 아니다 ASKY Code도 아니다.

Contents

1. 개요
2. 목록
3. 언어 표기용으로

1. 개요

7비트 글자 인코딩으로, 000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다. 이는 영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 부호 체계이며, 매우 단순하고 간단하기 때문에 어느 시스템에서도 적용가능하다는 장점이 있으나, 2바이트 이상의 코드를 표현할 수 없기 때문에 국제표준의 위상은 유니코드에게 넘어갔다. text only 형태의 게시판에서는 아스키 아트(AA)라는 이름으로 자주 사용된다. 근데 2ch 등지에서 사용되는 아스키 아트는 히라가나가타카나를 사용하므로 엄밀히 말해 아스키 아트가 아닌 유니코드 아트…


2. 목록

아래 표는 아스키 코드 중 제어 문자와 확장 아스키 코드를 제외한 부호(영문 자판에 사용되는 부호)를 정리한 것이다.[3]

10진수 부호 10진수 부호 10진수 부호 10진수 부호
032 056 8 080 P 104 h
033 ! 057 9 081 Q 105 i
034 " 058 : 082 R 106 j
035 # 059 ; 083 S 107 k
036 $ 060 < 084 T 108 l
037 % 061 = 085 U 109 m
038 & 062 > 086 V 110 n
039 ' 063 ? 087 W 111 o
040 ( 064 @ 088 X 112 p
041 ) 065 A 089 Y 113 q
042 * 066 B 090 Z 114 r
043 + 067 C 091 [ 115 s
044 , 068 D 092 \ 116 t
045 - 069 E 093 ] 117 u
046 . 070 F 094 ^ 118 v
047 / 071 G 095 _ 119 w
048 0 072 H 096 ` 120 x
049 1 073 I 097 a 121 y
050 2 074 J 098 b 122 z
051 3 075 K 099 c 123 {
052 4 076 L 100 d 124 |
053 5 077 M 101 e 125 }
054 6 078 N 102 f 126 ~
055 7 079 O 103 g 127
127번은 일부 프로그램(메모장 등)에서 Ctrl+Bksp 키를 누르면 입력 가능하다. 그 입력 결과는 오른쪽 괄호 안과 같다. ()[4] 폰트에 따라 다르게 보이므로 위 표에선 같은 모양의 유니코드 문자(HOUSE; U+2302)로 대체.
한편, 92번은 EUC-KR에서는 ₩, Shift-JIS에서는 ¥로 표시된다. 자세한 사항은 \ 항목 참조.

3. 언어 표기용으로

흔히 위 아스키 문자들만으로 영어를 충분히 나타낼 수 있다고 주장하는 사람들이 있는데, 영어도 제대로 쓰려면 아스키 문자만으로는 부족하다.
  • 영어도 외래어 표기 시에는 글자 위아래에 diacritic을 붙인다. (예: résumé, façade, piña colada. 특히 résumé는 resume과 뜻과 발음이 전혀 다르다.)
  • 출판물에서는 여닫는 따옴표(“” ‘’)와 en dash(–), em dash(—) 등을 사용한다. (예: He said, “I said ‘Hi!’ to you!”—but I never heard him.)

위의 문제 때문에 나온 것이 8비트로 확장한 아스키 코드이다. 128(0x80)~255(0xFF) 영역에 diacritic을 붙인 문자와 그리스 문자, 수학 기호, 괘선 문자 등을 포함하고 있다. 그러나 이걸로도 여닫는 따옴표나 dash는 해결이 안 되어서, en dash는 HYPHEN-MINUS(-)로, em dash는 수평 괘선문자(─)로 대체해야 했다.

이 확장 영역은 국가마다 달랐는데, 표음 문자를 쓰는 국가 중 128자 이내에서 자국의 문자를 넣을 수 있는 국가가 이 확장 영역을 많이 사용했다(특히 ISO/IEC 8859 시리즈). 주로 알파벳 기반의 문자를 사용하는 국가가 이렇게 사용했지만, 아랍어태국어, 히브리어에서 사용하는 문자도 글자 수가 128자 내에서 해결이 가능했기에 이 영역을 사용했다. 한국어, 일본어, 중국어처럼 문자가 굉장히 많은 경우, 확장 영역에 해당하는 바이트를 두 개 붙여 놓으면 한 글자로 표시되는 방식을 사용했다. 사실 유니코드의 첫 256글자(U+0000 ~ U+00FF)는 확장 ASCII 코드 중 하나인 ISO/IEC 8859-1을 그대로 차용한 것이다.

베트남어 표기용으로 VISCII라는 확장 ASCII 코드가 있는데, 구조가 조금 특이하다. 베트남어는 글자 위아래에 diacritic을 요란하게(?) 붙이는데, 베트남어를 온전히 표기하기 위해서는 ASCII에 추가로 134글자가 더 필요하다. 그래서 베트남어용 확장 ASCII 코드를 만들 때 128(0x80)~255(0xFF) 영역은 모두 베트남어에서 쓰이는 글자들로 채우고, ASCII에서 사용 빈도가 낮을 만한 제어 문자 여섯 개(STX, ENQ, ACK, DC4, EM, RS)를 베트남어에서 사용 빈도가 낮은 대문자들(Ẳ, Ẵ, Ẫ, Ỷ, Ỹ, Ỵ)로 바꿔서 134글자를 모두 집어넣었다. 다만 128(0x80)~255(0xFF) 영역을 모두 베트남어 글자들로만 채우다 보니, 기호가 들어갈 자리가 사라져 버렸다.

구체적으로는 이런 구조이다.
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH ETX EOT BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 NAK SYN ETB CAN SUB ESC FS GS US
2x ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL
8x
9x Ũ
Ax Õ ế
Bx Ơ ơ Ư
Cx À Á Â Ã Ă È É Ê Ì Í Ĩ
Dx Đ Ò Ó Ô Ù Ú Ý ư
Ex à á â ã ă è é ê ì í ĩ
Fx đ ò ó ô õ ù ú ũ ý
----
  • [1] 2열 이후의 코드들은 위키에서 사용할 수 없는 특수 문자 항목의 링크를 걸 때 사용하는 코드들이니 숙지할 것. 기호가 들어갈 곳에 코드를 넣어 주면 된다. (URL escape code는 아스키 문자의 hex(16진수)값을 이용한다. 항목 참조)
  • [2] 사실 '아스키' 라는 축약어에 '코드'가 이미 포함되어 있으므로 엄밀히 말해서 '아스키 코드'는 역전 앞과 같은 유형의 표현이지만 이를 진지하게 따지고 드는 사람은 없다.
  • [3] 032는 공백 한칸
  • [4] 일부 브라우저에선 보이지 않을 수 있다.