문자 집합

Character set. 말 그대로, 문자집합. 좀 더 정확히는 서로 다른 문자들을 구분하기 위해서 문자들에 번호를 붙여 놓은 것이다(또는 정사각형으로 배열해서 행·열로 부르거나). 그러니까 여기서 말하는 집합은 set이기도 하지만 repertoire로 이해하는 게 더 비슷하다.

컴퓨터 상에서 문자 집합은 어떤 문자가 표현 가능하고 어떤 문자가 아닌지를 알려 주는 역할을 한다. 예를 들어 "가"는 KS X 1001에서는 48행 33열(30-21)에 배당되어 있고, 유니코드에서는 44032번(U+AC00)으로 배당되어 있다. 하지만 ASCII에는 포함되어 있지 않으므로 ASCII만 쓸 수 있는 컴퓨터에서는 "가"를 표현할 수 없게 된다(물론 요즘은 이런 컴퓨터는 드물다). 일단 문자 집합이 결정되면, 문자 집합에 있는 문자들을 적절한 바이트열로 나타내 주는 문자 인코딩을 사용해서 실제로 해당하는 문자를 표현할 수 있다. 앞의 예를 계속 쓰면, KS X 1001을 인코딩하는 EUC-KR에서 "가"는 B0 A1로, 유니코드를 인코딩하는 UTF-8에서 EA B0 80으로 저장된다.

옛날의 많은 문자 집합은 문자 인코딩으로서의 역할도 겸하는 경우가 꽤 많아서 그 구분이 명확하진 않지만1) 실제로는 구분되는 의미이다. 한 문자 집합으로부터 여러 개의 문자 인코딩이 만들어질 수 있으며, 한 문자 인코딩이 여러 문자 집합을 인코딩할 수도 있다. 이를 잘 보여 주는 예는 일본어인데, Shift_JISJIS X 0201JIS X 0208 문자 집합을 함께 인코딩하며, 이 중 JIS X 0208은 EUC-JP를 비롯한 여러 다른 인코딩에서도 지원하고 있다.

목록

1) 대표적으로 HTML에서 문자 인코딩은 charset을 사용해서 (HTML5의 경우, <meta charset=utf-8>과 같이) 지정한다.

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-05-30 18:25 | 외부 편집기