코드 포인트 및 코드 단위의 관계
Crystal Reports for Visual Studio에서 GB18030 및 유니코드를 어떻게 지원하는지 이해하려면 코드 포인트와 코드 단위 사이의 관계를 이해하는 것이 중요합니다.
코드 포인트 및 코드 단위
각 인코딩에서 코드 포인트는 하나 이상의 코드 단위에 매핑됩니다.
![]() |
---|
코드 포인트에 대한 개요는 이전 부분 "문자 보기"를 참조하십시오. |
"코드 단위"는 각 인코딩 양식 내의 단일 단위입니다. 코드 단위 크기는 특정 인코딩에 대한 비트 단위와 동일합니다.
- UTF-8의 코드 단위는 8비트로 구성됩니다.
- UTF-16의 코드 단위는 16비트로 구성됩니다.
- UTF-32의 코드 단위는 32비트로 구성됩니다.
- GB18030에서는 코드 단위가 8비트로 구성됩니다.
각 코드 포인트의 코드 단위 수
코드 포인트에 매핑하는 데 필요한 코드 단위 수는 인코딩 양식에 따라 다릅니다.
UTF-8
UTF-8에서는 코드 단위가 작기 때문에 코드 포인트 당 복수 코드 단위가 일반적입니다. 코드 포인트는 1개, 2개, 3개 또는 4개의 코드 단위로 매핑됩니다.
UTF-16
UTF-16 코드 단위는 8비트 코드 단위보다 두 배 큽니다. 따라서 U+10000보다 작은 스칼라 값을 가진 코드 포인트는 단일 코드 단위로 인코딩됩니다.
U+10000 보다 큰 스칼라 값을 가진 코드 포인트의 경우 코드 포인트 당 두 코드 단위가 필요합니다. UTF-16에서는 이러한 코드 단위 쌍에 대해 "유니코드 대리 쌍"이라는 고유한 용어를 사용합니다.
참고
유니코드 대리 쌍 지원은 아래에서 설명합니다.
UTF-32
UTF-32에서 사용되는 32비트 코드 단위는 모든 코드 포인트를 단일 코드 단위로 인코딩할 만큼 충분히 큽니다.
GB18030
코드 포인트 당 복수 코드 단위는 코드 단위가 작기 때문에 GB18030에서는 일반적입니다. 코드 포인트는 1개, 2개 또는 4개의 코드 단위로 매핑됩니다.
유니코드 대리 쌍 지원
유니코드에서 지원하는 일부 스크립트에는 코드 포인트가 U+10000보다 큰 스칼라 값을 갖는 문자가 들어 있습니다. UTF-16에서는 이러한 코드 포인트가 대리 쌍을 사용하여 인코딩됩니다.
유니코드 대리 쌍을 적절히 처리하는 것이 중요합니다. 예를 들어, 인코딩을 위해 UTF-16을 사용하는 응용 프로그램에서 텍스트로 작업하는 경우 문자를 추가, 삭제 또는 선택하여 잘라내거나 복사하거나 붙여넣을 때 텍스트 커서가 개별 텍스트 문자로 각 코드 포인트를 탐색해야 합니다.