· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Unicode그리고다른이야기들

ASCII

8 bit 로 표현하는 문자셋, 지속적으로 혼란이 있었으나 ANSI를 통해서 0~128미만 까지는 통일되었으며 그 뒤의 128개의 문자셋은 나라마다 다른 셋트로 정의되어 있으며 이를 code page라고 한다. 윈도우의 dos에서 chcp 를 사용하면 code page를 바꿀 수 있다. 한국은 949 미국은 437을 사용한다. 코드 페이지에 대한 자세한 정의 내용은 http://www.i18nguy.com/unicode/codepages.html#msftdos 에서 찾을 수 있다.

DBSC

이런 코드 페이지의 문제점은 아시아권 언어를 표현하는데 있어서 제약이 있다는 것이다, 이 제약을 DBCS(Double bytes character set)이라는 조합으로 해결하고 있는데 이것은 추가적으로 표현해야하는 문자에 대해서는 128부터 255까지의 cell의 1 byte가 하나의 또다른 2 byte 문자셋 테이블을 가리키도록 하고 있다. 이 DBCS의 문제는 문자열의 전후 이동이 자유롭지 못하고 AnsiNext, AnsiPrev 와 같이 DBCS에서의 이동을 위한 API를 권장하고 있다.

Unicode

ASCII와 같이 8bit의 제약으로 세상의 언어를 표현하지는 못한다. 이런 상황에서 unicode 라는 것이 생겨났는데 이것은 모든 문자를 U+0064 와 같은 유일한 code point로 표현하고 있다. unicode는 문자를 표현하기 위한 철학적인 접근의 산물이지 단순히 문자열을 표현하기 위한 2 byte(16 bit)문자로 생각하는 것은 올바르지 못하다. UTF-8/16 등과 같은 것은 이런 unicode를 변환(encoding/decoding)하기 위한 format 규칙을 가리키는 것이다. Unicode Transformation Format 이 UTF이다.

좀 오래된 문서이지만 http://wiki.kldp.org/wiki.php/LinuxdocSgml/UTF8-Unicode-TRANS 을 참고하라.


ID
Password
Join
If it pours before seven, it has rained by eleven.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-07-17 10:43:56
Processing time 0.0013 sec