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
아두이노 우노 R4 Minima 빠르게 시작하기
https://kimbongzo.gumroad.com/l/Arduino-R4-Minima
아두이노 우노 R4 WiFi 빠르게 시작하기
https://kimbongzo.gumroad.com/l/arduinor4wifi
고객에 대한 빠른 응답 템플릿
https://kimbongzo.gumroad.com/l/ezhaf
아두이노 개발의 시작, 아두이노 IDE 2 완벽 가이드
https://kimbongzo.gumroad.com/l/ArduinoIDE2UltimateGuide
아두이노 Nano 33 IoT 퀵 가이드
https://kimbongzo.gumroad.com/l/Nano33IoTQuickGuide
라즈베리파이 5 퀵 가이드
https://kimbongzo.gumroad.com/l/raspberrypi_5_QuickGuide
Python OpenCV 컴퓨터 비전 입문 프로그래밍
https://kimbongzo.gumroad.com/l/python_opencv_basic
Python OpenCV 컴퓨터 비전 고급 프로그래밍
https://kimbongzo.gumroad.com/l/qmgmdw
다른 아스키코드표
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 |
코드표 내용 중 틀린 부분은 댓글로 알려주시면 수정하도록 하겠습니다.
'개발자 > 파이썬 Python' 카테고리의 다른 글
파이토치(PyTorch) - 이수안컴퓨터연구소 (7강, 동영상) (0) | 2024.07.08 |
---|---|
파이썬 기초문법 핵심정리 - 파이스탁 (16강, 동영상) (0) | 2024.07.03 |
초보자를 위한 파이썬 300제 - 파이스탁 (31강, 동영상) (1) | 2024.06.28 |
Happy New Year 2024 하트 표시 만드는 파이선 코드 (2) | 2024.01.05 |
Tiny Python Projects 강의 영상과 소스코드 (0) | 2023.08.14 |
파이썬에서 가장 많이 사용하는 상위 40개 라이브러리 (1) | 2023.06.26 |
Python에서 SIGINT(CTRL-C)와 같은 OS 신호 캡처 및 처리 (0) | 2023.04.26 |
Complete Python Roadmap for beginners in 2023 (0) | 2023.02.21 |
더욱 좋은 정보를 제공하겠습니다.~ ^^