본문 바로가기

IT

아스키코드표[ASCII Code Table]

728x90

 

아스키코드표 https://stepbystep1.tistory.com/10

 

ASCII $($American Standard Code for Information Interchange, 미국 정보 교환 표준 부호$)$


아스키 코드는 1963년 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이다. 인쇄전신기$($Teleprinter$)$를 통한 전신$($통신$)$에서 사용되기 시작했고, 8비트 컴퓨터에서도 활용되어 오늘날 문자 인코딩의 근간을 이루게 된다.

000$($0x00$)$부터 127$($0x7F$)$까지 총 128개의 부호가 사용된다. 1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 수 있도록 하였다. 일종의 원시적인 CRC 체크섬이라고 할 수 있다.

영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 가장 기본적인 부호 체계이다. 매우 단순하고 간단하기 때문에 어느 시스템에서도 적용가능하다는 장점이 있다. 8비트 컴퓨터에서는 아스키 코드에 1비트를 더해 더 많은 문자를 표현할 수 있는 여지가 생겼고, 아스키 코드에 없는 문자를 추가해 "코드페이지"를 제정하였다. IBM PC에서는 "Codepage 437"$($라틴어, 음성기호, 수학기호, 괘선, 특수문자 등 추가$)$을 사용했고, 확장된 아스키 코드의 사실상 표준이 되었다. 이외 각 국의 언어에 따라 다양한 코드페이지가 존재하는데, 대부분 아스키 코드에 기반하여$($가급적 훼손하지 않고$)$ 제작된다.

한글 인코딩은 2바이트 이상을 써야 가능했기 때문에 아스키 코드를 건드릴 수 밖에 없었고, 초창기에는 글자 깨짐 문제가 종종 발생하였다. 코드페이지$($CP949 등$)$를 맞춰주지 못하면 역시 글자 깨짐이 발생했고, 해외게임을 할 때 특히 그러했다. 유니코드가 제정되면서 글자 깨짐은 끝날 줄 알았지만 멀티 바이트의 엔디안 문제로 글자는 또 깨졌고, ASCII가 호환되는 UTF-8이 널리 사용되면서 글자 깨짐은 막을 내리게 된다.

아스키코드

 

ASCII Table https://www.alpharithms.com/ascii-table-512119/