Backends PHP

웹개발자를 위한 문자 인코딩 기초 #5 – UCS-2와 HTML Entity Number

기본 다국어 평면 만을 과감하게 선택한 UCS-2 방식

앞서 살펴보았던 유니코드의 문제점을 해결하기 위한 가장 간단한 방법은 무엇일까요. 다름 아닌 쾌도난마(快刀亂麻), 평면을 표시하기 위한 숫자가 거슬린다면 과감하게 그것을 잘라내는 것도 하나의 방법이겠지요.

UCS-2 방식이 바로 이 방법을 사용한 인코딩입니다. UCS는 국제 문자세트(Universal Character Set)의 줄임말입니다. 한편 숫자 2는 이 인코딩이 2바이트로 이루어져 있다고 하는 것을 의미합니다. UCS-2는 유니코드의 다른 모든 평면을 포기하고, 오로지 0번 기본 다국어 평면 만을 선택합니다. 사실 우리 시대에 전세계에서 사용하고 있는 거의 모든 문자는 기본 다국어 평면에 들어있으니, 일견 타당한 방법이기도 합니다.

UCS-2의 인코딩의 16진수 값들은 유니코드 기본 다국어 평면과도 완벽하게 같습니다. 유니코드에서 16진수 0xAC00로 정해진 한글 “가”는, UCS-2에서도 동일하게 [0xAC 0x00]에 배정되어 있습니다. 이렇게 유니코드에서 평면을 나타내는 숫자를 떼어버리고 나니, 1글자의 크기가 딱 2바이트로 깔끔하게 떨어지는 것도 장점입니다.

(more…)

Continue reading