유니코드는 전세계 문자를 하나의 Character Set 으로 표시하기 만들어졌다. Character Set 에는 한 국가에서 사용하는 언어체계에 집중되어 있었고 이는 당연한 것이다. 


 현재 유니코드는 0x000000 부터 0x10FFFF 까지 1,114,112 개 글자를 표시한다. 이 영역은 아직도 계속 버전이 변경되면서 추가 되고 있다. 이 유니코드를 표시하는 인코딩은 

UTF8(UTF-8), UTF16(UTF16BE, UTF16LE 로 추가로 분리하기도 한다.), UTF32m, UCS2 등이 있다. 간혹 사람들이 UTF8 이라는 것을 그냥 유니코드라고 통용해 부르기도 한다. 다시 한 번 설명하면 유니코드는 Character Set 으로 0x000000 부터 0x10FFFF 까지의 값이고 유니코드 인코딩은 이러한 값들이 실제 저장될 때(메모리가 존재할 때나 파일로 저장될 때)의 값을 의미한다. 


다시 유니코드로 돌아가서 유니코드 전체를 논리적으로 나눈 영역을 유니코드 평면이라고 한다. 

(http://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%ED%8F%89%EB%A9%B4 )

이 평면은 기본 다국어 평면, 보조 다국어 평면, 보조 상형 문자 평면, 3차 상형 문자 평면, 미지정 평면, 보조 특수 목적 평면, 사용자 영역 평면 으로 나눈다.

 초창기 유니코드는 0 ~ 0xFFFF 로 모든 문자를 표시 하려고 했다. 현재는 이 영역을 기본 다국어 평면으로 부른다.알파벳,  한글, 대부분의 한자가 이 영역에 있다. 보조 상형 문자 평면에는 초창기 유니코드에 포함되지 않는 한자들이 있다. 사용자 영역은 소프트웨어나 폰트에서 특수한 용도로 사용할 수 있는 영역으로 다른 소프트웨어와 폰트에서 호환되지 않을 수 있다. 이 영역을 이용해서 옛한글을 구현하기도 하였다(http://ko.wikipedia.org/wiki/%EC%98%9B%ED%95%9C%EA%B8%80#.ED.95.9C.EC.96.91_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EC.98.81.EC.97.AD_.EC.BD.94.EB.93.9C 한양 사용자 정의 영역 코드를 참조할 것 ). 



유니코드 영역은 위키 페이지에 나와 있는 대로다.

http://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EB%B2%94%EC%9C%84_%EB%AA%A9%EB%A1%9D


처음
(16진 코드)

(16진 코드)
개수
(16진수)
개수
(10진수)
영어 이름한국어 이름
0000007F80128Controls and Basic Latin제어 문자와 라틴 기본
008000FF80128Controls and Latin-1 Supplement제어 문자와 라틴 보충
0100017F80128Latin Extended-A라틴 확장-A
0180024FD0208Latin Extended-B라틴 확장-B
025002AF6096IPA Extensions국제 음성 기호 확장
02B002FF5080Spacing Modifier Letters조정 문자
0300036F70112Combining Diacritical Marks조합 분음 기호(악센트)
037003FF90144Greek and Coptic그리스 문자와 콥트 문자
040004FF100256Cyrillic키릴 문자
0500052F3048Cyrillic Supplementary키릴 문자 보충
0530058F6096Armenian아르메니아 문자
059005FF70112Hebrew히브리 문자
060006FF100256Arabic아랍 문자
0700074F5080Syriac시리아 문자
0750077F3048Arabic Supplement아랍 문자 보충
078007BF4064Thaana타나 문자
07C007FF4064N'Ko응코 문자
0900097F80128Devanagari데바나가리 문자
098009FF80128Bengali벵골 문자
0A000A7F80128Gurmukhi굴무키 문자
0A800AFF80128Gujarati구자라트 문자
0B000B7F80128Oriya오리야 문자
0B800BFF80128Tamil타밀 문자
0C000C7F80128Telugu텔루구 문자
0C800CFF80128Kannada칸나다 문자
0D000D7F80128Malayalam말라얄람 문자
0D800DFF80128Sinhala싱할라 문자
0E000E7F80128Thai타이 문자
0E800EFF80128Lao라오 문자
0F000FFF100256Tibetan티베트 문자
1000109FA0160Myanmar미얀마 문자
10A010FF6096Georgian조지아 문자
110011FF100256Hangul Jamo한글 자모
1200137F180384Ethiopic에티오피아 문자
1380139F2032Ethiopic Supplement에티오피아 문자 보충
13A013FF6096Cherokee체로키 문자
1400167F280640Unified Canadian Aboriginal Syllabics캐나다 원주민 음절문자
1680169F2032Ogham오검 문자
16A016FF6096Runic룬 문자
1700171F2032Tagalog타갈로그 문자
1720173F2032Hanunoo하누노오 문자
1740175F2032Buhid부히드 문자
1760177F2032Tagbanwa타그반와 문자
178017FF80128Khmer크메르 문자
180018AFB0176Mongolian몽골 문자
1900194F5080Limbu림부 문자
1950197F3048Tai Le타이 러 문자
198019DF6096New Tai Lue새 타이 루에 문자
19E019FF2032Khmer Symbols크메르 기호
1A001A1F2032Buginese부기 문자
1B001B7F80128Balinese발리 문자
1D001D7F80128Phonetic Extensions음성 부호 확장
1D801DBF4064Phonetic Extensions Supplement음성 부호 확장 보충
1DC01DFF4064Combining Diacritical Marks Supplement조합 분음 부호(악센트) 보충
1E001EFF100256Latin Extended Additional라틴 추가 확장
1F001FFF100256Greek Extended그리스 문자 확장
2000206F70112General Punctuation일반 구두점
2070209F3048Superscripts and Subscripts위 첨자와 아래 첨자
20A020CF3048Currency Symbols통화 기호
20D020FF3048Combining Diacritical Marks for Symbols조합 분음 부호(기호)
2100214F5080Letterlike Symbols글자를 변형한 기호
2150218F4064Number Forms여러 가지 수
219021FF70112Arrows화살표
220022FF100256Mathematical Operators수학 연산자
230023FF100256Miscellaneous Technical여러 가지 기술 기호
2400243F4064Control Pictures제어 문자 기호
2440245F2032Optical Character Recognition문자 인식(OCR) 기호
246024FFA0160Enclosed Alphanumerics괄호 문자
2500257F80128Box Drawing괘선 기호
2580259F2032Block Elements블록 기호
25A025FF6096Geometric Shapes도형 기호
260026FF100256Miscellaneous Symbols여러 가지 기호
270027BFC0192Dingbats딩뱃 기호
27C027EF3048Miscellaneous Mathematical Symbols-A여러 가지 수학 기호-A
27F027FF1016Supplemental Arrows-A화살표 보충-A
280028FF100256Braille Patterns점자
2900297F80128Supplemental Arrows-B화살표 보충-B
298029FF80128Miscellaneous Mathematical Symbols-B여러 가지 수학 기호-B
2A002AFF100256Supplemental Mathematical Operators수학 연산자 보충
2B002BFF100256Miscellaneous Symbols and Arrows여러 가지 기호와 화살표
2C002C5F6096Glagolitic글라골 문자
2C602C7F2032Latin Extended-C라틴 확장-C
2C802CFF80128Coptic콥트 문자
2D002D2F3048Georgian Supplement조지아 문자 보충
2D302D7F5080Tifinagh티피나그 문자
2D802DDF6096Ethiopic Extended에티오피아 문자 보충
2E002E7F80128Supplemental Punctuation구두점 보충
2E802EFF80128CJK Radicals Supplement한중일 부수 보충
2F002FDFE0224KangXi Radicals강희자전 부수
2FF02FFF1016Ideographic Description characters한자 생김꼴 지시 부호
3000303F4064CJK Symbols and Punctuation한중일 기호 및 구두점
3040309F6096Hiragana히라가나
30A030FF6096Katakana가타카나
3100312F3048Bopomofo주음 부호
3130318F6096Hangul Compatibility Jamo호환용 한글 자모
3190319F1016Kanbun훈독 순서 지시 부호
31A031BF2032Bopomofo Extended주음 부호 확장
31C031EF3048CJK Strokes한중일 한자 획
31F031FF1016Katakana Phonetic Extensions가타카나 음성 확장
320032FF100256Enclosed CJK Letters and Months한중일 괄호 문자
330033FF100256CJK Compatibility한중일 호환용
34004DBF19C06592CJK Unified Ideographs Extension A한중일 통합 한자 확장-A
4DC04DFF4064Yijing Hexagram Symbols역경 6줄 기호
4E009FBF51C020928CJK Unified Ideographs한중일 통합 한자
A000A48F4901168Yi Syllables 소리 마디
A490A4CF4064Yi Radicals이 부수
A700A71F2032Modifier Tone Letters어조 조정 문자
A720A7FFE0224Latin Extended-D라틴 확장-D
A800A82F3048Syloti Nagri실헤티 나가리
A840A87F4064Phags-Pa파스파 문자
A960A97F2032Hangul Jamo Extended-A한글 자모 확장-A
AC00D7AF2BB011184Hangul Syllables한글 음절
D7B0D7FF5080Hangul Jamo Extended-B한글 자모 확장-B
D800DBFF4001024High Surrogate Area상위 서러게이트 영역
DC00DFFF4001024Low Surrogate Area하위 서러게이트 영역
E000F8FF19006400Private Use Area사용자 영역
F900FAFF200512CJK Compatibility Ideographs한중일 호환용 한자
FB00FB4F5080Alphabetic Presentation Forms알파벳 표현꼴
FB50FDFF2B0688Arabic Presentation Forms-A아랍 문자 표현꼴-A
FE00FE0F1016Variation Selectors모양 구별 문자
FE10FE1F1016Vertical Forms세로쓰기 모양
FE20FE2F1016Combining Half Marks조합용 반쪽 기호
FE30FE4F2032CJK Compatibility Forms한중일 호환용 꼴
FE50FE6F2032Small Form Variants작은꼴 변형
FE70FEFF90144Arabic Presentation Forms-B아랍 문자 표현꼴-B
FF00FFEFF0240Halfwidth and Fullwidth Forms전각/반각 모양
FFF0FFFF1016Specials특수 제어 문자
100001007F80128Linear B Syllabary선상 B 음절 문자
10080100FF80128Linear B Ideograms선상 B 상형 문자
101001013F4064Aegean Numbers에게 숫자
101401018F5080Ancient Greek Numbers옛 그리스 숫자
103001032F3048Old Italic옛 이탈리아 문자
103301034F2032Gothic고트 문자
103801039F2032Ugaritic우가리트 문자
103A0103DF4064Old Persian옛 페르시아 문자
104001044F5080Deseret데저렛 문자
104501047F3048Shavian샤우 문자
10480104AF3048Osmanya오스마냐 문자
108001083F4064Cypriot Syllabary키프로스 음절 문자
109001091F2032Phoenician페니키아 문자
10A0010A5F6096Kharoshthi카로슈티
12000123FF4001024Cuneiform쐐기 문자
124001247F80128Cuneiform Numbers and Punctuation쐐기 문자 숫자·문장 부호
1D0001D0FF100256Byzantine Musical Symbols비잔틴 시대의 악보용 기호
1D1001D1FF100256Musical Symbols악보용 기호
1D2001D24F5080Ancient Greek Musical Notation고대 그리스 시대의 악보용 기호
1D3001D35F6096Tai Xuan Jing Symbols태현경 기호
1D4001D7FF4001024Mathematical Alphanumeric Symbols수학식에서 쓰이는 알파벳
1F0001F02B2C44Mahjong Tiles마작
1F0301F09364100Domino Tiles도미노
1F0A01F0DF3B59Playing Cards트럼프
1F1001F1FFA9169Enclosed Alphanumeric Supplement영숫자 원 문자 보조
1F2001F2513A58Enclosed Ideographic Supplement한자 원 문자 보조
1F3001F5FF211529Miscellaneous Symbols And Pictographs그 외 기호와 에모지
1F6001F64F4C76Emoticons에모지
1F6801F6C54670Transport And Map Symbols교통과 지도의 기호
1F7001F77374116Alchemical Symbols연금술 기호
200002A6DFA6E042720CJK Unified Ideographs Extension B한중일 통합 한자 확장-B
2A7002B73F10354149CJK Unified Ideographs Extension C한중일 통합 한자 확장-C
2B7402B81FDE222CJK Unified Ideographs Extension D한중일 통합 한자 확장-D
2F8002FA1F220544CJK Compatibility Ideographs Supplement한중일 호환용 한자 보충
E0000E007F80128Tags태그
E0100E01EFF0240Variation Selectors Supplement모양 구별 문자 보충
F0000FFFFF1000065536Supplementary Private Use Area-A사용자 영역 보충-A
10000010FFFF1000065536Supplementary Private Use Area-B사용자 영역 보충-B



 여기서 우리에게 중용한 몇 부분을 찾아보면 

제어 문자와 라틴 기본 :  우리가 흔히 알고 있는 아스키 영역이다.

 

한글 자모, 한글 자모 확장-A, 한글 자모 확장-B : 현대 한글뿐만 아니라 옛한글도 들어있다. 그리고 첫소리, 가운데 소리,끝소리 모두 들어 있다. 따라서 이 것들을 이용해서 하나의 글자를 표시할 수도 있다. 옛한글의 경우 이렇게 표시할 수 밖에 없다. 이러한 한글표시 체계를 첫가끝이라고 한다( http://www.w3c.or.kr/i18n/hangul-i18n/ko-code.html ). 이 글자 영역어 3영역에 나누어 진것은 옛 한글의 경우 연구가 될수록 계속 추가되기 때문이다. 어째든 옛한글의 경우 정렬이 쉽지 않다. 


한글 호환용 자모 : 한글 자모를 단독으로 표시 되는 용도라고 추정한다(검색이 잘안된다. ) . 여기 있는 자음은 첫소리 끝소리를 구별하지 않고 나와있다. 아무래도 첫가끝 용도가 아닌 단독으로 사용되는 용도이지 않나 하고 추정된다. 


위에 것에 대한 코드는  http://ko.wikipedia.org/wiki/%ED%95%9C%EA%B8%80_%EB%82%B1%EC%9E%90_%EB%AA%A9%EB%A1%9D  에 잘 나와있다. 


한글음절 : 이 부분이 현대 한글이 들어 있는 부분이다. 현대 한글로 표시할 수 있는 모든 글자가 들어 있다. 일정한 공식에 의해 첫소리, 가운데 소리, 끝소리로 분리할 수 있다. 우리 생각에는 모든 글자가 들어 있다고 생각했는데  가운데 소리 + 끝소리 조합이 안들어 있어 사전같은 특수한 용도로 사용하기 부족하다고 비판 받기도 하고 있다.


한중일 통합 한자,한중일 통합 한자 확장 A, B, C, D (http://ko.wikipedia.org/wiki/%ED%95%9C%EC%A4%91%EC%9D%BC_%ED%86%B5%ED%95%A9_%ED%95%9C%EC%9E%90 )

 : 유니코드 영역에서 가장 많은 공간을 차지하는 문자가 한자이다. 한자는 한중일에서 사용하다보니 이나를 CJK 라 합쳐 부른다. 요즘에는 한중일에 베트남을 포함하여 CJKV 라고 부르기도 한다. 사실 한중일 양국에서 사용하는 한자들의 모양이 조금씩 다르긴 하지만 모양이 유사하고 뜻이 같은 글자들을 통합시켰다. 


한중일 호환용 한자 : 

 EUC-KR에서는 뜻이 동일하더라도 음이 다를 경우 두 한자 모두 존재하고 있었는데  한중일 통합 한자에는 한가지만 추가 되고 있다가 추후에 호환성을 위해 추가 되었다. 



상위 서러게이트 영역, 하위서러게이트 영역 : 이건은 UTF16 을 사용하는 인코딩에서 유용하게 사용된다. 그 외의 경우 의미 없다. 



다음은 유니코드 인코딩에 대해 정리 하겠다. 


참조

http://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C

http://en.wikipedia.org/wiki/Unicode