본문 바로가기

개발자/파이썬 Python

아스키코드는 0~127입니다.

반응형

 

OpenCV 강의 자료를 만들었다. 강의가 있어서 만들었다. 여기에서도 윈도우 제어할 때 키보드 입력을 받아들여 영상을 녹화하거나 이미지를 변형하는 연산을 제어하는데 아스키코드를 사용한다. 

 

컴퓨터는 문자를 문자로 기억하지 않는다. 그 대신 숫자로 기억하고 표현한다. 예를 들면 문자 'A'는 65로, 'B'는 66으로 표현한다. 그런데 사람마다 규칙을 개인대로 정하면 자칫 소통하는데 오류가 생길 것이다.

 

예를 들어 어떤 사람은 'A'는 1로, 'B'는 2로 표현할 수 도 있을 것이다. 그래서 모든 사람이 공통적으로 쓸 수 있는 표준 규격이 필요한데, 이것이 바로 아스키(ASCII : American Standard Code for Information Interchange)다. 1967년에 만들어졌고 알파벳에 기초를 둔 문자 인코딩 방법이다. 아스키코드에는 인쇄가 불가능한 33개의 제어문자 코드와 95개의 인쇄가 가능한 문자 코드가 있다.

 

아스키코드는 0에서 127까지의 숫자를 이용하여 문자를 표현한다. 제어 문자 코드는 0부터 31까지 차지하며, 스페이스 문자부터 인쇄가 가능한 코드이다. 스페이스 문자는 32로 표현된다. 느낌표 문자(!)의 코드는 33이다. 이렇게 1씩 증가하며 문자들을 순차적으로 나열한다. 곧 'a'는 97, 'b'는 98이다. 표를 참고하면 이해하기 쉽다.

 

왜 아스키코드는 1~127까지인가?

 

아스키코드는 1960년대에 미국 표준협회(ANSI)에서 표준화한 정보교환용 7비트 부호체계를 만들었다. 아스키코드는 52개의 영문 알파벳 대소문자, 10개의 숫자, 32개의 특수 문자, 33개 의 출력 불가능한 제어 문자, 그리고 하나의 공백 문자를 포함하여 총 128개로 이루어진다.

 

그런데, 컴퓨터의 기본 저장 단위는 1byte(8bit)다. 그래서 아스키코드는 2의 8 제곱인 256개를 사용할 수 있지만 7비트 128개(0~127)의 고유한 값만 사용한다. 그 이유는 7비트로 128개의 모든 문자를 표현할 수 있었고, 나머지 1비트를 통신 에러 검출을 위해 parity bit라고 불리는 비트에 사용된다. 그래서 실제로 0(parity bit)을 채우고 나머지 7비트만 사용해서 문자를 나타낸다.

ex. 0011 1100 / 0101 1101 / 0001 0011 

 

* '1'은 값의 1이 아니다. '1'은 글자 1에 대한 아스키코드값으로 49이다. 16진수로는 0x31, 이진수로는 00111000으로 표현한다.

 

아래는 여러 형태의 아스키코드표입니다. Ctrl + F로 검색할 수 있도록 작성했습니다.

DEC: 10진수
HEX: 16진수
Char: ASCII Code

 

 

인생의 잔혹한 비밀과 삶을 제대로 살기 위한 기술 “위대한 마인드“ 다운로드

https://kimbongzo.gumroad.com/l/greatmindset 

 

위대한 마인드

"일찍 알았더라면 삶이 훨씬 더 나았을 텐데.... 절대 이런 말을 하지 마세요.지금 당장 "위대한 마인드"를 읽지 않으면 당신은 후회합니다."안녕하세요. 정말 반갑네요.가끔 삶이 구렁텅이에 빠

kimbongzo.gumroad.com

 

아두이노 우노 R4 Minima 빠르게 시작하기

https://kimbongzo.gumroad.com/l/Arduino-R4-Minima 

 

아두이노 우노 R4 Minima 빠르게 시작하기

진정한 메이커로 성장하는 여러분이 되세요.메이커 활동과 코딩 교육하면 빠질 수 없는 아두이노 우노(Arduino Uno)의 신규 버전이 2023년 6월 26일 출시되었습니다. 정식 명칭은 아두이노 우노 R4 미

kimbongzo.gumroad.com

 

아두이노 우노 R4 WiFi 빠르게 시작하기

https://kimbongzo.gumroad.com/l/arduinor4wifi 

 

아두이노 우노 R4 WiFi 빠르게 시작하기

진정한 메이커로 성장하는 여러분이 되세요.메이커 활동과 코딩 교육하면 빠질 수 없는 아두이노 우노(Arduino Uno)의 신규 버전이 2023년 6월 26일 출시되었습니다. 정식 명칭은 아두이노 우노 R4 미

kimbongzo.gumroad.com

 

고객에 대한 빠른 응답 템플릿

https://kimbongzo.gumroad.com/l/ezhaf 

 

고객에 대한 빠른 응답 템플릿

안녕하세요. 고객에 대해 빠른 응답 가이드 문서 입니다. 주문확인, 배송 지연, 주문 완료... 여러 분야에 대해 고객에게 답변을 하는 템플릿입니다.운영하시는 상점에 수정해서 잘 사용하시면

kimbongzo.gumroad.com

 

아두이노 개발의 시작, 아두이노 IDE 2 완벽 가이드

https://kimbongzo.gumroad.com/l/ArduinoIDE2UltimateGuide 

 

Arduino IDE 2 Ultimate Guide

안녕하세요. 아두이노 IDE Perfect Guide에 오신 걸 환영합니다.여기서는 자신만의 Arduino 프로젝트를 만들고 수준 높은 제작자가 되기 위해 가장 먼저 알아야 할 모든 것을 다루는 안내 과정입니다.

kimbongzo.gumroad.com

 

아두이노 Nano 33 IoT 퀵 가이드

https://kimbongzo.gumroad.com/l/Nano33IoTQuickGuide 

 

Nano 33 IoT Quick Guide

아직까지 Nano 33 IoT 보드가 국내에는 많이 알려지지 않았다는 게 신기합니다. 스마트 팩토리 프로젝트를 어제 끝냈습니다. 프린팅 장비의 상태와 주변 환경 데이터를 수집해 클라우드로 전송하

kimbongzo.gumroad.com

 

라즈베리파이 5 퀵 가이드

https://kimbongzo.gumroad.com/l/raspberrypi_5_QuickGuide 

 

Raspberry Pi 5 Quick Guide

안녕하세요. 시간이 참 빠릅니다. 2012년 오리지널 Raspberry Pi 모델이 나왔고 저는 2016년부터 라즈베리파이를 사용해 왔습니다. Smart IoT 실습 시스템, 스마트 팜 관리 시스템, 카메라 원격 감시 등

kimbongzo.gumroad.com

 

Python OpenCV 컴퓨터 비전 입문 프로그래밍

https://kimbongzo.gumroad.com/l/python_opencv_basic 

 

컴퓨터비전 Python OpenCV Basic

파이선 OpenCV 기본 과정 강의 파일입니다.세상의 모든 기술은 배울 수 있습니다.OpenCV(Open Source Computer Vision)는 영상처리, 컴퓨터 비전, 비디오 처리, 기계학습(흔히 인공지능이라고 알고 있는) 학

kimbongzo.gumroad.com

 

Python OpenCV 컴퓨터 비전 고급 프로그래밍

https://kimbongzo.gumroad.com/l/qmgmdw 

 

Python OpenCV Master

파이선 OpenCV 고급 과정 강의 파일입니다.세상의 모든 기술은 배울 수 있습니다.OpenCV(Open Source Computer Vision)는 영상처리, 컴퓨터 비전, 비디오 처리, 기계학습(흔히 인공지능이라고 알고 있는) 학

kimbongzo.gumroad.com

 

 

 

 

 

 

다른 아스키코드표

 

 

Char Hex Oct Dec   Char Hex Oct Dec   Char Hex Oct Dec   Char Hex Oct Dec
Ctrl-@
NUL
00 000 0   Space 20 040 32   @ 40 100 64   ` 60 140 96
Ctrl-A SOH 01 001 1   ! 21 041 33   A 41 101 65   a 61 141 97
Ctrl-B STX 02 002 2   " 22 042 34   B 42 102 66   b 62 142 98
Ctrl-C ETX 03 003 3   # 23 043 35   C 43 103 67   c 63 143 99
Ctrl-D EOT 04 004 4   $ 24 044 36   D 44 104 68   d 64 144 100
Ctrl-E ENQ 05 005 5   % 25 045 37   E 45 105 69   e 65 145 101
Ctrl-F ACK 06 006 6   & 26 046 38   F 46 106 70   f 66 146 102
Ctrl-G BEL 07 007 7   ' 27 047 39   G 47 107 71   g 67 147 103
Ctrl-H BS 08 010 8   ( 28 050 40   H 48 110 72   h 68 150 104
Ctrl-I HT 09 011 9   ) 29 051 41   I 49 111 73   i 69 151 105
Ctrl-J LF 0A 012 10   * 2A 052 42   J 4A 112 74   j 6A 152 106
Ctrl-K VT 0B 013 11   + 2B 053 43   K 4B 113 75   k 6B 153 107
Ctrl-L FF 0C 014 12   , 2C 054 44   L 4C 114 76   l 6C 154 108
Ctrl-M CR 0D 015 13   - 2D 055 45   M 4D 115 77   m 6D 155 109
Ctrl-N SO 0E 016 14   . 2E 056 46   N 4E 116 78   n 6E 156 110
Ctrl-O SI 0F 017 15   / 2F 057 47   O 4F 117 79   o 6F 157 111
Ctrl-P DLE 10 020 16   0 30 060 48   P 50 120 80   p 70 160 112
Ctrl-Q DCI 11 021 17   1 31 061 49   Q 51 121 81   q 71 161 113
Ctrl-R DC2 12 022 18   2 32 062 50   R 52 122 82   r 72 162 114
Ctrl-S DC3 13 023 19   3 33 063 51   S 53 123 83   s 73 163 115
Ctrl-T DC4 14 024 20   4 34 064 52   T 54 124 84   t 74 164 116
Ctrl-U NAK 15 025 21   5 35 065 53   U 55 125 85   u 75 165 117
Ctrl-V SYN 16 026 22   6 36 066 54   V 56 126 86   v 76 166 118
Ctrl-W ETB 17 027 23   7 37 067 55   W 57 127 87   w 77 167 119
Ctrl-X CAN 18 030 24   8 38 070 56   X 58 130 88   x 78 170 120
Ctrl-Y EM 19 031 25   9 39 071 57   Y 59 131 89   y 79 171 121
Ctrl-Z SUB 1A 032 26   : 3A 072 58   Z 5A 132 90   z 7A 172 122
Ctrl-[ ESC 1B 033 27   ; 3B 073 59   [ 5B 133 91   { 7B 173 123
Ctrl- FS 1C 034 28   <  3C 074 60   5C 134 92   | 7C 174 124
Ctrl-] GS 1D 035 29   = 3D 075 61   ] 5D 135 93   } 7D 175 125
Ctrl-^ RS 1E 036 30   >  3E 076 62   ^ 5E 136 94   ~ 7E 176 126
Ctrl_ US 1F 037 31   ? 3F 077 63   _ 5F 137 95   DEL 7F 177 127

 

 

아스키코드표 출처 : http://cafe.daum.net/flowlife

 

 

DEC(10) HEX(16) Char(ASCII) DEC(10) HEX(16) Char(ASCII) DEC(10) HEX(16) Char(ASCII)
0 0 Ctrl-@ NUL 43 2B + 86 56 V
1 1 Ctrl-A SOH 44 2C , 87 57 W
2 2 Ctrl-B STX 45 2D - 88 58 X
3 3 Ctrl-C ETX 46 2E . 89 59 Y
4 4 Ctrl-D EOT 47 2F / 90 5A Z
5 5 Ctrl-E ENQ 48 30 0 91 5B [
6 6 Ctrl-F ACK 49 31 1 92 5C \
7 7 Ctrl-G BEL 50 32 2 93 5D ]
8 8 Ctrl-H BS 51 33 3 94 5E ^
9 9 Ctrl-I HT 52 34 4 95 5F _
10 A Ctrl-J LF 53 35 5 96 60 `
11 B Ctrl-K VT 54 36 6 97 61 a
12 C Ctrl-L FF 55 37 7 98 62 b
13 D Ctrl-M CR 56 38 8 99 63 c
14 E Ctrl-N SO 57 39 9 100 64 d
15 F Ctrl-O SI 58 3A : 101 65 e
16 10 Ctrl-P DLE 59 3B ; 102 66 f
17 11 Ctrl-Q DC1 60 3C < 103 67 g
18 12 Ctrl-R DC2 61 3D = 104 68 h
19 13 Ctrl-S DC3 62 3E > 105 69 i
20 14 Ctrl-T DC4 63 3F ? 106 6A j
21 15 Ctrl-U NAK 64 40 @ 107 6B k
22 16 Ctrl-V SYN 65 41 A 108 6C l
23 17 Ctrl-W ETB 66 42 B 109 6D m
24 18 Ctrl-X CAN 67 43 C 110 6E n
25 19 Ctrl-Y EM 68 44 D 111 6F o
26 1A Ctrl-Z SUB 69 45 E 112 70 p
27 1B Ctrl-[ ESC 70 46 F 113 71 q
28 1C Ctrl-\ FS 71 47 G 114 72 r
29 1D Ctrl-] GS 72 48 H 115 73 s
30 1E Ctrl-^ RS 73 49 I 116 74 t
31 1F Ctrl_ US 74 4A J 117 75 u
32 20 Space 75 4B K 118 76 v
33 21 ! 76 4C L 119 77 w
34 22 " 77 4D M 120 78 x
35 23 # 78 4E N 121 79 y
36 24 $ 79 4F O 122 7A z
37 25 % 80 50 P 123 7B {
38 26 & 81 51 Q 124 7C |
39 27 ' 82 52 R 125 7D }
40 28 ( 83 53 S 126 7E ~
41 29 ) 84 54 T 127 7F DEL
42 2A * 85 55 U      

 

 

 

코드표 내용 중 틀린 부분은 댓글로 알려주시면 수정하도록 하겠습니다.

 

 

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^