====== 문자 집합 ====== 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''으로 저장된다. 옛날의 많은 문자 집합은 문자 인코딩으로서의 역할도 겸하는 경우가 꽤 많아서 그 구분이 명확하진 않지만((대표적으로 [[HTML]]에서 문자 인코딩은 ''charset''을 사용해서 ([[HTML5]]의 경우, ''''과 같이) 지정한다.)) 실제로는 구분되는 의미이다. 한 문자 집합으로부터 여러 개의 문자 인코딩이 만들어질 수 있으며, 한 문자 인코딩이 여러 문자 집합을 인코딩할 수도 있다. 이를 잘 보여 주는 예는 [[일본어]]인데, [[Shift_JIS]]는 [[JIS X 0201]]과 [[JIS X 0208]] 문자 집합을 함께 인코딩하며, 이 중 JIS X 0208은 [[EUC-JP]]를 비롯한 여러 다른 인코딩에서도 지원하고 있다. ===== 목록 ===== * [[유니코드]] * [[로마자]]: [[ASCII]], [[ISO IEC 646]], [[ISO 8859-1]], [[ISO 8859-2]], [[ISO 8859-3]], [[ISO 8859-4]], [[ISO 8859-9]], [[ISO 8859-10]], [[ISO 8859-13]], [[ISO 8859-14]], [[ISO 8859-15]], [[ISO 8859-16]] * [[키릴문자]]: [[ISO 8859-5]], [[KOI8-R]], [[KOI8-U]] 등 * 한국어 ([[한글]]): [[KS X 1001]], [[KS X 1002]], [[KS X 1003]], [[국규9566]](...) * 일본어 ([[가나]]와 [[칸지]]): [[JIS X 0201]], [[JIS X 0208]], [[JIS X 0212]], [[JIS X 0213]] * 중국어 ([[한자]]): [[GB 2312]] + GB/T 12345, [[GB 18030]], [[CNS 11643]], [[Big5]], [[HKSCS]] {{tag>문자집합 목록}}