유니코드란?

MJ·2022년 7월 4일
0

[개발용어]

목록 보기
6/11

1. 유니코드?

  • 전세계에서 사용하는 모든 문자들을 하나의 문자 셋으로 표현하는 문자표
  • 멀티바이트에서 발생하는 호환성들의 문제를 해결하기 위해 만들어진 표준코드
  • 아스키코드로 표현할 수 없는 문자들을 표현할 수 있고, 글자와 숫자 즉 키와 값이 1대1로 매칭됨

유니코드는 존재하는 모든 문자들을 2BYTE(16BIT)로 표현하려고 했으며
이론적으로는 65536개의 문자를 표현할 수 있습니다.
그러나 한글 조합과 수 많은 한자들 그리고 히라가나등 중앙 아시아의 문자들은 2byte에는
모두 담지 못했습니다.

이런 문제를 해결하기 위해서 유니 코드는 2byte를 가지는 평면을 여러개 만들고 평면을 나누기
위해서 추가적으로 1byte를 더 사용하여 총 2-3byte를 통해 유니코드표를 만들었습니다.

유니코드임을 나타내는 U+와 16진수를 합쳐 U+0000 ~ U+FFFF 까지 문자를
표현할 수 있으며, 앞에 평면을 위한 1byte인 U+00에서 U+FF를 추가할 수 있다.
(총 256개의 평면 가능)


1.1 유니코드 평면

유니코드는 110만개 이상의 코드 포인트를 지정할 수 있다.
110만개 이상의 코드 포인트를 17개의 평면으로 나누고 각 평면에서 256*256=65,536 개 만큼
문자와 값을 1대1로 지정할 수 있습니다.

1.1.1 0번 평면

BMP(Basic Multilingual Plane)라고 하는 평면으로 BMP에는 거의 모든 근대 문자와
특수 문자가 포함되어 있으며 그 중 대부분은 한글과 한중일 통합 한자들로 이루어져 있습니다.

1.1.2 1번 평면

보조 다국어 평면으로 옛 문자나 음악 기호 수학 기호 등에 쓰입니다.

1.1.3 2번 평면

보조 상형 문자 평면으로 초기 유니코드에 포함되지 않은 한중일 통합 한자들을 주로 담고있다.

1.1.4 3번 평면

3차 상형문자 평면으로 갑골 문자, 금문, 소전 따위의 문자나 추가 한중일 통합 한자,
기타 옛 상형문자 등을 위해 예약된 영역 이다.

1.1.5 4번 평면

미지정 평면
4 - 13번 평면은 아무 것도 지정되지 않았습니다.

1.1.6 14번 평면

보조 특수 목적 평면에는 적은 수의 제어용 문자들이 들어 있다.

1.1.7 15-16번 평면

사용자 영역 평면
특정 업체나 사용자 별로 할당하여 쓰게 되므로, 소프트웨어간이나 글꼴간의 호환성은
보장되지 않습니다.

profile
프론트엔드 개발자가 되기 위한 학습 과정을 정리하는 블로그

0개의 댓글