06. C Language(ASCII)
06. C Language(ASCII)
[toc]
A Promise to Express Letters in Numbers: ASCII
Origin of ASCII
두 장치가 통신할 때 문자를 전송하는 방법에는 크게 두 가지가 있다:
- 스캔(Scan)
- 팩스처럼 a라는 문자를 그대로 스캔하여 전송하는 방법
- 변수 지정(Specify variables)
- 예를 들어 두 장치가 97을 ‘a’라고 미리 약속하고, 97이 전송되면 문자 ‘a’로 인식하는 방식
첫 번째 방법은 이미지의 크기에 따라 전송 데이터가 달라지며, 최소한의 픽셀 정보도 커서 데이터 용량이 큼.
두 번째 방법은 숫자 한 개로 문자를 표현할 수 있기 때문에 훨씬 효율적이다.
하지만 제조사마다 문자를 숫자로 표현하는 방식이 달라 통신 간 정보 해석 오류가 발생했고, 이를 해결하기 위해 표준 코드 체계가 필요했다.
그렇게 등장한 것이 바로 우리가 사용하는 ASCII다.
What is ASCII?
ASCII (American Standard Code for Information Interchange)
- 1967년 표준으로 제정되어, 1986년에 마지막 개정
- 7 Bit 인코딩 방식으로 구성되어 있으며, 총 128개의 문자(0~127)를 표현
- 제어 문자(Control Characters): 0~31번 (총 33개, 출력 불가)
- 출력 가능한 문자(Printable Characters): 32~126번 (총 95개)
- 총 7비트로 구성되며, 8비트 중 1비트는 보조로 사용됨
출처: wondangcom.com
Extended ASCII
컴퓨터의 발전으로 더 다양한 문자를 표현해야 했고, 이에 따라 7비트에서 8비트로 확장된 버전이 등장했다.
✅ 특징
- 8 Bit 인코딩 방식으로, 총 256개의 문자를 표현 (0~255)
- 기존 ASCII(0~127) + 확장 문자(128~255)
- 주로 특수 문자, 유럽 문자, 블록 문자 등이 추가됨
출처: keepandshare.com
왜 1 Byte가 적절한가?
- 확장 ASCII는 0~255 범위이므로 부호 없는 1 Byte(8 Bit)로 표현 가능
- 따라서 컴퓨터가 문자를 아스키코드로 저장할 경우, 1 Byte가 가장 효율적
📌 정리
문자를 숫자로 표현하는 방식은 효율적인 데이터 통신을 가능하게 하며, 그 대표적 표준이 ASCII이다. ASCII는 컴퓨터 시스템 간 문자 해석을 통일시켰으며, 확장 ASCII는 보다 많은 문자를 포괄하여 다양한 언어 환경을 지원하게 되었다.
End