... | @@ -197,6 +197,10 @@ class StarTest |
... | @@ -197,6 +197,10 @@ class StarTest |
|
유니코드란?
|
|
유니코드란?
|
|
유니코드는 기존의 여러 문자 표현 방식들의 문제점을 해결하기 위해서 전 세계의 모든 문자를 컴퓨터로 표현할 수 있게 문자마다 고유의 Character code를 부여하는 방식이다. 그래서 기존에 발생하던 각 언어와 문자 체계에 따른 충돌 문제를 해결하였다. 유니코드를 사용하는 환경에서는 세계 각국의 언어를 깨뜨리지 않고 사용할 수 있다.
|
|
유니코드는 기존의 여러 문자 표현 방식들의 문제점을 해결하기 위해서 전 세계의 모든 문자를 컴퓨터로 표현할 수 있게 문자마다 고유의 Character code를 부여하는 방식이다. 그래서 기존에 발생하던 각 언어와 문자 체계에 따른 충돌 문제를 해결하였다. 유니코드를 사용하는 환경에서는 세계 각국의 언어를 깨뜨리지 않고 사용할 수 있다.
|
|
|
|
|
|
|
|
코드 포인트
|
|
|
|
코드 포인트는 유니코드에서 문자에 매겨진 번호를 의미한다. 표기 방식은 U+0000 으로 Unicode를 의미하는 U+와 코드포인트 값을 16진수로 적는다.
|
|
|
|
> 알파벳 'A'는 U+0041, 한글 '가'는 U+AC00 으로 표기한다.
|
|
|
|
|
|
유니코드의 구조
|
|
유니코드의 구조
|
|
UCS(Universal Character Set)는 ISO 10646으로 정의된 문자 인코딩의 국제 표준이다. 유니코드는 UCS의 하위 집합이고, UCS의 구조를 알면 유니코드의 구조를 알 수 있다. 아래 그림은 UCS의 구조와 의미를 정리한 그림이다.
|
|
UCS(Universal Character Set)는 ISO 10646으로 정의된 문자 인코딩의 국제 표준이다. 유니코드는 UCS의 하위 집합이고, UCS의 구조를 알면 유니코드의 구조를 알 수 있다. 아래 그림은 UCS의 구조와 의미를 정리한 그림이다.
|
|
|
|
|
... | @@ -204,7 +208,9 @@ UCS(Universal Character Set)는 ISO 10646으로 정의된 문자 인코딩의 |
... | @@ -204,7 +208,9 @@ UCS(Universal Character Set)는 ISO 10646으로 정의된 문자 인코딩의 |
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
여기서 유니코드는 Group 00의 Plane 00 ~ 16을 사용한다. 총 17개의 Plane을 포함하므로 65536 x 17을 계산해보면 약 111만 개의 문자를 저장 가능한 것을 알 수 있다. 그리고 Plane 00의 영역을 BMP(기본 언어판) 이라고 지칭하는데, 주로 사용되는 문자들은 BMP 내에 있다.
|
|
|
|
|
|
|
|
유니코드는 2바이트 체계다. 하지만 계산을 해보면 17개의 Plane을 표현하는데 필요한 5 비트, Cell번호를 표현하는데 필요한 16비트를 합쳐 총 21비트가 유니코드의 모든 문자를 표현하기 위해서 필요하다는 것을 알 수 있다. (Group 표현은 Group 00만을 사용하므로 생략한다.)
|
|
|
|
|
|
|
|
|
|
유니코드는 ASCII 방식에서 표현하지 못하던 문자까지 표현할 수 있다는 장점을 가졌다. 유니코드의 인코딩 방식은 UTF-8, UTF-16, UTF-32 등이 있고, 가변 길이 인코딩이다. 뒤의 숫자는 기본 표현이 몇 비트로 이루어지는지 차이에 따라서 숫자가 달라진다.
|
|
유니코드는 ASCII 방식에서 표현하지 못하던 문자까지 표현할 수 있다는 장점을 가졌다. 유니코드의 인코딩 방식은 UTF-8, UTF-16, UTF-32 등이 있고, 가변 길이 인코딩이다. 뒤의 숫자는 기본 표현이 몇 비트로 이루어지는지 차이에 따라서 숫자가 달라진다.
|
... | | ... | |