범용 부호화 문자 집합

Universal Coded Character Set
범용 부호화 문자 집합
에일리어스UCS, Unicode
언어국제
표준.ISO/IEC 10646
인코딩 형식UTF-8, UTF-16, GB 18030
일반적이지 않음: UTF-32, BOCU, SCSU, UTF-7
선행ISO/IEC 8859, ISO/IEC 2022, 기타 다양한 기능.

Universal Coded Character Set(UCS, Unicode)는 국제 표준 ISO/IEC 10646, 정보 기술 - Universal Coded Character Set(UCS; 유니버설 부호화 문자 세트)에 의해 정의되는 표준 문자 세트이며, 이는 많은 문자 인코딩의 기초가 되어 이전에 표현되지 않은 문자 수를 개선합니다.e가 추가되었습니다.

UCS에서는 110만 개 이상의 코드포인트를 사용할 수 있지만 2000년 이전에는 Basic Multilinguage Plane(BMP; 기본 다국어 플레인)이 공통으로 사용되고 있었습니다. 상황은 2006년 중화인민공화국(PRC)이 관할구역에서 판매되는 모든 소프트웨어를 GB 18030을 지원해야 한다고 판결하면서 바뀌기 시작했습니다.이를 위해서는 BMP를 넘어서는 PRC에서의 판매를 목적으로 한 소프트웨어가 필요했습니다.

이 시스템은 의도적으로 많은 코드 포인트를 문자에 할당하지 않습니다.이것은, 장래의 확장을 가능하게 하거나 다른 부호화 형식과의 경합을 최소한으로 억제하기 위해서입니다.

UCS 정의 UTF-16의 원래 에디션(UCS-2의 확장판)은 BMP 외부의 코드 포인트를 나타냅니다.BMP의 S(Special) 존 내의 코드 포인트 범위는 문자에 할당되지 않은 상태로 유지됩니다.UCS-2에서는 이들 코드포인트에 대한 코드값 사용은 금지되지만 UTF-16에서는 쌍으로 사용할 수 있습니다.유니코드도 UTF-16을 채용하고 있습니다만, 유니코드 용어에서는 하이 하프 존 요소는 "high replaces"가 되고 로우 하프 존 요소는 "low replaces"[clarification needed]가 됩니다.

또 다른 부호화 UTF-32(이전의 명칭 UCS-4)에서는, 코드 스페이스의 1 문자의 부호화에 4 바이트(합계 32 비트)를 사용합니다.따라서 UTF-32는 API 및 소프트웨어 어플리케이션 내의 모든 코드 포인트를 바이너리 형식으로 표현할 수 있습니다.

역사

국제표준화기구(ISO)는 1989년에 범용 문자 집합을 구성하기 시작했고 1990년에 ISO 10646의 초안을 발표했다.Hugh McGregor Ross는 그것의 주요 건축가 중 한 명이었다.그 기준은 현행 기준과 확연히 달랐다.정의:

  • 128 그룹
  • 256면
  • 256행
  • 256 셀,

총 2,147,483,648 문자의 경우 C0C1 제어 코드(0x00 ~0x1F 및 0x80 ~0x9F, 16진수 표기)의 바이트 값이 셀, 플레인 행을 지정하는 4바이트 중 하나에 금지되어 있기 때문에 실제로는 표준에서는 679,477,248 문자만 코드화할 수 있습니다.예를 들어, 라틴 대문자 A는 그룹 0x20, 평면 0x20, 행 0x20, 셀 0x41에 위치합니다.

이 원시 ISO/IEC 10646 표준의 문자를 세 가지 방법 중 하나로 코드화할 수 있습니다.

  1. UCS-4, 각 문자에 대해 4바이트, 모든 문자의 심플한 인코딩을 가능하게 합니다.
  2. UCS-2(문자마다 2바이트).첫 번째 플레인 0x20(기본 다국어 플레인)의 인코딩을 유효하게 합니다.이 플레인에는 최초의 36,864개의 코데포인트가 포함되어 있습니다.또, ISO/IEC 2022 이스케이프 시퀀스를 사용해 다른 플레인 및 그룹이 스위칭 됩니다.
  3. UTF-1. 길이가 다른 바이트의 시퀀스(1~5바이트, 각각 제어 코드 없음) 내의 모든 문자를 부호화합니다.

따라서 1990년에는 범용 문자 집합을 위한 두 가지 이니셔티브가 존재했다. 문자(65,536 문자)에 대해 16비트를 사용하는 Unicode 및 ISO/IEC 10646.소프트웨어 회사들은 ISO 표준의 복잡성과 크기 요구사항을 수용하기를 거부했고,[citation needed] 많은 ISO 국가 기구가 ISO 표준에 반대하도록 설득할 수 있었습니다.ISO 관계자들은 현재 상태로는 표준을 계속 지원할 수 없다는 것을 깨닫고 유니코드와의 표준 통합을 협상했다.두 가지 변화가 일어났다: 문자에 대한 제한 해제(제어 코드 값 금지), 할당을 위한 코드 포인트를 개방하고, 기본 다국어 플레인의 레퍼토리와 유니코드 레퍼토리의 동기화.

한편, 시간이 지남에 따라 Unicode 표준 자체에서 상황이 변화하여 65,536자가 불충분하게 표시되었으며 버전 2.0 이후부터는 UTF-16 대리 메커니즘을 통해 17개의 플레인에서 1,112,064개의 코드 포인트를 인코딩할 수 있게 되었습니다.따라서 ISO/IEC 10646은 UTF-16으로 인코딩할 수 있는 글자 수만큼만 제한되었으며, 6억7천900만자가 아닌 100만자를 조금 초과해서는 안 됩니다.ISO/IEC 10646의 UCS-4 인코딩은 UTF-16 범위로 제한되고 UTF-32라는 이름으로 Unicode 표준에 통합되었습니다.단, 프로그램의 내부 데이터 이외에서는 거의 사용되지 않습니다.

Plan 9 운영체제 설계자인 Rob Pike와 Ken Thompson은 UCS 부호화에서 가장 널리 사용되는 UTF-8이라고 불리는 [1]새로운 고속 혼합 폭 부호화를 고안했습니다.

유니코드와의 차이점

ISO/IEC 10646과 Unicode는 동일한 레퍼토리와 번호를 가지고 있습니다.Unicode는 새로운 버전을 출시하고 새로운 문자를 추가하는 빈도가 높지만, 두 표준 모두 동일한 번호를 가진 동일한 문자가 존재합니다.Unicode에는 ISO/IEC 10646의 적용범위를 벗어나는 규칙 및 사양이 있습니다.ISO/IEC 10646은 ISO/IEC 8859와 같은 이전 표준의 확장인 단순한 문자표입니다.이와는 대조적으로 Unicode는 아랍어나 히브리어와 같은 오른쪽에서 왼쪽으로의 스크립트에 대한 대조, 폼의 정규화양방향 알고리즘을 추가합니다.플랫폼 간의 상호 운용성을 위해 특히 양방향 스크립트를 사용하는 경우 ISO/IEC 10646을 지원하는 것만으로는 부족합니다.Unicode를 실장해야 합니다.

이러한 규칙 및 알고리즘을 지원하기 위해 Unicode는 한 문자의 기본 양방향 클래스를 결정하는 속성 및 문자가 다른 문자와 결합하는 방법을 결정하는 속성 등 많은 속성을 집합의 각 문자에 추가합니다.문자가 유럽의 숫자 '8'이나 저속분수 'θ' 등의 숫자 값을 나타내는 경우에는 그 숫자 값도 문자의 속성으로 가산된다.Unicode는 이러한 속성을 여러 언어를 혼합하여 상호 운용 가능한 텍스트 처리를 지원합니다.

일부 응용 프로그램은 ISO/IEC 10646 문자를 지원하지만 Unicode를 완전히 지원하지 않습니다.이러한 애플리케이션 중 하나인 Xterm은 문자 대 문자 대 글리프[clarification needed] 매핑과 단일 방향성을 가진 모든 ISO/IEC 10646 문자를 올바르게 표시할 수 있습니다.단순한 오버스트라이핑 방법으로 일부 결합 표시를 처리할 수 있지만 히브리어(양방향), 데바나가리(다수의 글리프에 한 문자) 또는 아랍어(둘 다 특징)를 표시할 수는 없습니다.대부분의 GUI 어플리케이션에서는 이러한 스크립트를 처리하는 표준 OS 텍스트 그리기 루틴을 사용합니다.단, 어플리케이션 자체가 항상 올바르게 처리되는 것은 아닙니다.

유니버설 코드 문자 집합 인용

ISO/IEC 10646 표준 패밀리에 대한 일반적인 비공식 인용문인 ISO/IEC 10646은 대부분의 산문에서 허용된다.또한 Unicode라는 용어는 별도의 표준이지만 UCS에 대해 논의할 때 비공식적으로 자주 사용됩니다.단, UCS에 대한 표준 참조는 ISO/IEC 10646:{year} 형식으로 발행 연도를 인용해야 합니다(예: ISO/IEC 10646:2014).

유니코드와의 관계

1991년 이후 유니코드 컨소시엄ISO/IEC는 유니코드 표준("유니코드")과 ISO/IEC 10646을 함께 개발했습니다.유니코드 버전 2.0의 레퍼토리, 문자 이름 및 코드 포인트는 ISO/IEC 10646-1:1993의 레퍼토리와 정확히 일치합니다.2000년 2월에 Unicode 3.0이 발행된 후 대응하는 새로운 문자 및 갱신된 문자가 ISO/IEC 10646-1:2000을 통해 UCS에 입력되었습니다.2003년에 ISO/IEC 10646의 파트 1과 파트 2가 단일 부품으로 통합되었으며, 이후 유니코드 표준과 거의 동기화하여 표준에 문자를 추가하는 많은 수정이 이루어졌습니다.

「 」를 참조해 주세요.

관련 표준:

메모들

레퍼런스

  1. ^ Pike, Rob (2003-04-03). "UTF-8 history". Archived from the original on 2016-05-23.

외부 링크