ASCII code 현업에서 종사하는 사람들이라면 들어는 봤는 그리고 실제로 사용도 많이 하는 코드 입니다.
대표적인 예로 키보드와 컴퓨터간에 ASCII code를 사용하고 있죠.

ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 입니다.
제가 여기서 언급하고 싶은건 A,a 그리고 숫자에 대한 코드 입니다. 왜 A는 65 a는 97 0은 48로 했을까?
여러분들은 어떻게 생각하시나요?
이 숫자를 단순히 10진수로 보면 의미를 받아들이기 힘듭니다. 하지만 2진수나 16진수로 보게되면 해석이 달라지죠.

대문자 A를 의미하는 65는 2진수로 볼 때 64를 나타내는 7번째 비트를 살리고 첫번째 알파벳 이라는 의미로 볼 수 있습니다.
또한 16진수로는 첫번째가 4로 시작하는 숫자 중 첫번째가 대문자 알파벳의 첫번째 인 거죠. 아무 의미 없어보이는 65가 실제로는 저런 의미를 가지고 65번째가 된 것입니다. 그럼 소문자 a 97은 어떨까요?

7번째 비트가 살아 있고 (알파벳인거 같네?), 6번째 비트가 살아있는 상태(아 소문자구나)에서 첫번째 단어(a)네 이렇게 된 것으로 보입니다.
16진수를 표현할 때 0x를 앞에 붙여 사용합니다. 그럼 A는 0x41 a는 0x61 이 되죠.
0x51은? 아...알파벳이 26개라서 큰 의미 없는 거고...그럼 0x31은 뭐가 있나?
코드표를 보면 아시겠지만 1은 0x31 0은 0x30 입니다. 16과 32의 합성으로 48이 된거죠. 0x3? 이면 '아 숫자구나?' 하면서 알 수 있는 겁니다.
'알파벳이 26개니까 64를 의미하는 7번 비트 on/off로 가독성이 좋게 합시다.', '소문자인지 한개의 비트로만 확인할 수 있도록 배치하려면 65번 97번이 좋지 않겠습니까?', '기왕이면 숫자도 자주 쓰는데 0x3 으로 시작하고 0~9까지 배열합시다.' 라는 대화가 오갔을 것 같습니다. 당시 제작자들이 얼마나 세심하게 배열했는지 다시금 감사하게 생각게 되더라구요. 현업에서 일하다가 혼자 저걸 깨달았을 때 어찌나 기분이 좋던지 세상의 비밀 하나를 알게된 느낌이랄까요? ^^
다음으로 설명드릴 내용은 Enter 입니다.
여러분은 Enter가 ASCII Code 2개의 합성으로 이루어 진 것을 알고 계시나요?
현업에서 시리얼 통신(Serial communication RS-232, RS-485 등)을 하다보면 데이터 전송 후 마지막에 데이터 끝을 알리는 의미로 <CR>,<LF>를 자주 사용합니다. Enter키를 치면 ASCII로 13,10 16진수로 0x0d,0x0a 입니다.
CR은 Carriage Return LF는 Line Feed 의 약자 이죠. 이 말들은 무슨 뜻이고, 어디서 비롯된 것 일까요?

바로 키보드의 전 버전인 타자기에서 시작되었습니다.
여기서 Carriage는 타자를 칠 때 종이를 고정하여 움직이는 부분의 명칭입니다.
타자를 다 치고나면 "띵" 소리를 내면서 종이 가장 앞에서 글자를 다시 쓰도록 하기 위해 Carriage가 Return 하는데서 유래가 된 표현입니다.
Line Feed 는 한줄 밑으로 내려가는 동작을 표현하는거고요.
현재는 거의 찾아볼 수 없는 타자기의 내용이 아직까지 우리생활에 숨어서 가장 많이 사용되는 것을 보면 너무 신기하기만 합니다.
codesys 소개가 너무 딱딱하다 보니 현업에서 일하다가 알게된 말랑말랑한 재미있는 지식을 전달 드리고자 부록을 준비해 보았습니다. ^^ 재미있게 읽어주셨다면 좋을 것 같습니다. ㅎㅎ
'Codesys 3.5' 카테고리의 다른 글
| 부록 #2 Shift 연산 Ladder 프로그래머 참고용 (0) | 2025.10.21 |
|---|---|
| Codesys #6 반복문, 조건문 (0) | 2025.10.15 |
| Codesys #5 변수 Variable (전역변수, 지역변수, Retain 변수) (0) | 2025.10.14 |
| Codesys #4-1 POU (Program, Function Block Diagram, Function) (0) | 2025.07.22 |
| Codesys #3-2 AND 함수와 데이터 수동 입력 (0) | 2025.07.21 |