KTUG 한국 텍 사용자 그룹

Menu

KTUG :: Q&A 마당

ANSI는 미국 규격인데 이것이 한글 문자 코드를 정의했을 리 없지 않습니까? 마이크로소프트가  나름 언어별로 정의한 것이 character page라는 것이고요. 전에 제가 잠시 조사했던 바에 따르면, 이렇습니다.


Windows-1252 = CP1252 = ANSI = ISO 8859-1


언어별로 인코딩 체계가 제각각이었고, 한 언어 안에서도 여러 인코딩 체계가 사용되었습니다. 80년대에 삼보, 금성, 삼성, 대우, 현대가 저마다 다른 한글 인코딩을 썼던 것으로 알고 있습니다.


거의 모든 언어의 문자를 포함하는 것이 유일하게 유니코드입니다. 

위에서 예로 든 Windows-1252를 사용한다고 가정해 보죠. 이것은 8비트여서 독일어의 ä 같은 라틴 계열 문자들을 표현할 수 있습니다. 그렇지만 키릴 문자들은 포함하지 않습니다. 그것을 넣을 빈 자리가 없으니까요. 8비트 체제에서 방법은 라틴 문자들이 차리한 자리들, 대략 C0에서 FF까지 차지하는 것입니다. 쉽게 말해 8비트 인코딩 시스템으로는 한 문서에서 독일어와 러시아를 동시에 표현할 수 없다는 얘기입니다.


16비트로도 문제가 해결되지 않습니다. 16비트로 대략 65000자를 표현할 수 있는데, 현재 지구에서 100만 개가 넘는 문자들이 쓰이거나 쓰였다죠. 예를 들자면,  (아마도 삼단 조판을 사용하여) 한국어, 일본어, 중국어로 성경을 만든다고 가정해 보죠. 16비트 인코딩 시스템으로는 이 작업이 아마 불가능할 겁니다. 어느 인코딩 시스템이 부분적으로나마 CJK 글자들을 포함했었는지 모르겠습니다.


다른 인코딩 시스템과는 달리, 유니코드 자체는 일련번호만 가질 뿐 몇 비트다라고 말하지 않습니다. 유니코드를 어떻게 구현하느냐에 따라 UTF-8, UTF-16, UTF-32 따위가 있죠. ( http://hoze.tistory.com/255 )


결론적으로 말해, 유니코드는 다른 인코딩 시스템과 (부분적으로 호환을 논할 수 있을지라도) 비교할 수 있는 것이 아닙니다.

KTUG 한국 텍 사용자 그룹