WIPIVERSE

ASCII

ASCII(American Standard Code for Information Interchange)는 컴퓨터와 통신 장비 간의 문자 정보 교환을 위해 정의된 문자 인코딩 표준이다. 영문 알파벳을 기반으로 하여 총 128개의 코드 포인트를 규정하며, 이는 7비트 정수로 표현된다. 128개의 코드 포인트 중 95개는 인쇄 가능한 문자(숫자 0~9, 소문자 a~z, 대문자 A~Z, 구두점 및 기호)이고, 나머지 33개는 인쇄되지 않는 제어 문자(control character)이다.

역사

ASCII 표준화 작업은 1961년 5월, IBM 엔지니어 밥 베머(Bob Bemer)가 미국 표준 협회(ASA, 현재의 ANSI)의 X3.2 소위원회에 제안서를 제출하면서 시작되었다. 첫 번째 표준판은 1963년에 ASA X3.4-1963으로 발표되었으며, 이후 1967년의 주요 개정을 비롯해 1986년까지 여러 차례 개정되었다. ASCII는 이전의 텔레프린터용 부호 체계(예: 보도(Baudot) 부호, ITA2)를 바탕으로 개발되었으나, 알파벳 순서 정렬이 용이하도록 문자 순서를 설계한 점과 텔레프린터 이외의 장치를 위한 제어 기능을 추가한 점에서 차별화된다.

1968년 3월 11일, 미국 대통령 린든 B. 존슨은 연방 정부가 구매하는 모든 컴퓨터가 ASCII를 지원하도록 명령하였다. ASCII는 2007년 12월까지 월드 와이드 웹에서 가장 널리 사용된 문자 인코딩이었으나, 이후 UTF-8이 이를 대체하였다. UTF-8은 ASCII와 하위 호환성을 유지한다.

기술적 특징

ASCII의 각 문자는 0부터 127까지의 값으로 인코딩되며, 7비트 정수로 저장된다. 표준 위원회는 8비트 코드 대신 7비트 코드를 채택하였는데, 이는 데이터 전송 비용을 최소화하기 위한 결정이었다. 8비트 컴퓨터에서는 패리티 검사가 필요하지 않은 경우 여덟 번째 비트를 0으로 설정하는 방식이 일반적으로 사용되었다.

ASCII의 문자 배치는 대문자와 소문자가 단일 비트 차이로 구분되도록 설계되어, 대소문자 구분 없는 문자 비교와 키보드·프린터 제작을 단순화하였다. 숫자 0~9는 이진수 값과 직접 대응되도록 배치되었다.

제어 문자

ASCII의 처음 32개 코드 포인트(0~31)와 마지막 코드 포인트(127)는 제어 문자로 지정되어 있다. 이들은 인쇄 가능한 문자를 나타내지 않고, 주변 장치 제어나 데이터 스트림에 대한 메타 정보 제공을 목적으로 한다. 대표적인 제어 문자로는 캐리지 리턴(CR), 라인 피드(LF), 탭(HT), 백스페이스(BS), 이스케이프(ESC), 삭제(DEL) 등이 있다.

영향과 파생

ASCII는 이후 개발된 다양한 문자 인코딩 표준의 기반이 되었다. ISO/IEC 646은 ASCII와 동일하거나 거의 동일한 국제 표준으로, 각국에서 자국어 문자를 지원하기 위한 변형이 개발되었다. 8비트 확장 문자 집합(소위 "확장 ASCII")은 원래의 7비트 문자 매핑을 유지하면서 추가 문자를 정의한 방식이다. 유니코드(Unicode)는 1991년에 도입되었으며, ASCII의 128개 문자를 유니코드의 첫 128개 코드 포인트로 통합하여 ASCII와의 호환성을 보장하였다.

ASCII는 컴퓨터 언어의 문법과 텍스트 마크업의 구문에 큰 영향을 미쳤으며, 현대 컴퓨터에서 사용되는 문자 집합 설계의 근간이 되었다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기