1 2 UCS 2 BMP KSC 5601 CP
1
2
멀티바이트 UCS 2 BMP KSC 5601 유니코드 CP 949 SBCS i 18 n UCS 4 BOM UTF-8 Encoding UTF-16 4
i 18 n l 10 n internationalization localization 9
i 18 n l 10 n 10
CP 437 CP 860 CP 932 CP 949 UTF-8 Original IBM Codepage 포르투갈어 일본어 너무 많아!! 한국어 = IBM CP 1208 = MS CP 65001 = SAP CP 4110 11
BMP 0 x 0000부터 0 x. FFFF 까지 BMP(Basic Multilingual Plane) 13
BMP 중 한글 각 쀍 0 x. AC 01(10101100 00000001) 0 x. C 00 D(110000001101) 15
Plane USC-4 영역 17
BMP외의 영역 SMP 0 x 10000~0 x 1 FFFF SIP 0 x 20000~0 x 2 FFFF Unassigned 0 x 30000~0 x. DFFFF 그외 고대 script, 음악 및 수학 기호 CJK Unified Ideographs Unassigned 0 x. E 0000~ SSP, Private Use Area Planes 18
Scripts 스크립트의 분류 000– 099 100– 199 200– 299 300– 399 400– 499 500– 599 600– 699 700– 799 800– 899 900– 999 Hieroglyphic and cuneiform scripts Right-to-left alphabetic scripts Left-to-right alphabetic scripts Alphasyllabic scripts Syllabic scripts Ideographic scripts Undeciphered scripts Shorthands and other notations (unassigned) Private use, alias, special codes http: //en. wikipedia. org/wiki/ISO_15924 http: //www. unicode. org/Public/UNIDATA/Scripts. txt 19
UTF 8과 UTF 16으로 표현하기 코드범위 UTF-16 표현 UTF-8 표현 설명 000000~00007 F 0 xxxxxxx ASCII와 동일한 범위 000080~0007 FF 00000 xxx xxxx 110 xxxxxx 첫바이트 110 또는 1110로 시작 바이트 들은 10으로 시작 xxxxxxxx 1110 xxxxxx 첫바이트 110 또는 1110로 시작 바이트 들은 10으로 시작 11110 zzz 10 zzxxxx 10 xxxxxx UTF-16 서로게이트 쌍 영역 (yyyy = zzzzz - 1). UTF-8로 표시된 비트 패턴은 실제 코드 포인트와 동일하다. 000800~00 FFFF 010000~10 FFFF 110110 yy yyxxxxxx 110111 xx xxxx 21
‘삼’을 UTF-8, 16으로 어떻게? 000800~00 FFFF xxxxxxxx 1110 xxxxxx UTF-16 첫바이트 110 또는 1110로 시작 바이트 들은 10으로 시작 : 0 x. C 0 BC UTF-8 : 0 x. C 0 BC = 11000000 10111100 11101100 10000010 10111100 = EB 82 BC 22
UTF-16 인코딩 예제 몇가지 코드범위 UTF-16 표 현 000000~00007 F 0 xxxx 000080~0007 FF 00000 xxx xxxx High xxxx 000800~00 FFFF Surrogate xxxx Low Surrogate 110110 ZZ ZZxxxxxx 010000~10 FFFF 110111 yy yyyy Z(0 x 7 A) 水(0 x 6 C 34) : 0 x 007 A : 0 x 6 C 34 높은 음자리표(0 x 1 D 11 E) : 0 x 1 D 11 E = 00000001 110100011110 zzzzz : 00001 ∴ZZZZ : 00000 xxxxxx : 110100 yyyyy : 0100011110 High-Surrogate : 11011000 00110100 (0 x. D 834) Low-Surrogate : 1101 00011110 (0 x. DD 1 E) ∴ D 834 DD 1 E 0 x 010000이상의 경우 0 0 0 0 | 0 0 0 z z z | x x x y y | y y y y 로 나타남. (ZZZZ = zzzzz - 1) 23
CP 949 to Unicode http: //msdn. microsoft. com/ko-kr/goglobal/cc 305154. aspx 24
Unicode to CP 949 http: //www. unicode. org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP 949. TXT 25
초성 검색 알고리즘 – 메소드 boolean is. Initial. Sound(char searchar) : searchar(문자)가 자음인지 검사한다. char get. Initial. Sound(char c) : c(문자)의 자음을 얻는다. boolean is. Hangul(char c) : 해당 문자가 한글인지 검사. 28
33
멀티바이트 UCS 2 BMP KSC 5601 유니코드 CP 949 SBCS i 18 n UCS 4 BOM UTF-8 Encoding UTF-16 36
WHQL 인증 기사 http: //www. mt. co. kr/view/mtview. php? type=1&no=20090720102 47071892&outlink=1 터치스크린 제어장치 특허 취득 http: //www. newstomato. com/Read. News. aspx? no=92709 세계화 단계별 연습 : 유니 코드 사용 http: //msdn. microsoft. com/ko-kr/goglobal/bb 688113. aspx 유니코드 공식 홈페이지 http: //www. unicode. org/ 37
38
Thank you 39
- Slides: 39