범용 부호화 문자 집합

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 문자의 경우 C0 및 C1 제어 코드(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.

외부 링크