유니 코드 (유니 코드, 유니 코드, 단일)

유니 (단일 유니 유니)는 컴퓨터 문자 인코딩에서 사용된다. 그것은는 각 문자에 대한 각각의 언어가 교차 언어, 크로스 플랫폼 텍스트 변환 처리 요구 사항을 충족하기 위해, 통합과 고유의 바이너리 코드를 설정합니다. 1994 년 1990 R & D가 공식적으로 발표했다. 유니 코드에서 출시 이후 10 년 이상 컴퓨터 작업 능력의 향상으로도 인기를 얻었다.

코딩 및 유니 코드의 구현

아마 유니 부호화 방식은 두 가지 레벨의 코딩 구현들로 분할 될 수있다.

1. 부호화

범용 문자 인코딩 유니 코드 (범용 문자 집합 UCS는 (또한, [범용 문자 세트]라고도 함) ISO10646 설정 ) UCS-2에 대응하는 실제의 유니 코드 버전의 현재의 개념에 해당하는, 16 비트의 인코딩을 공간, 즉, 각 문자는 2 바이트를 차지합니다 .

유니 코드 문자 인코딩 표준 십육이며, ASCII는 영어로만 적용, 7 자리 코드입니다. 서유럽 국가에서 사용되는 또 다른 여덟 ISO 라틴어 1 인코딩. 문자 집합을 유니 코드이다 사용의 이점은 언어가 오늘날 전 세계에 쓸 수있는 해결하는 데 사용할 수 있습니다. 거의 3만9천가지가 정의되어있는 2 ^ 16 유니 부호화 65536의 총합, 및 중국어 워드 단독 21,000가지 차지!

상술 한 16 비트 유니 코드 문자는 함께 적어도 21 비트 인코딩을 필요로 점유하며 모두의 기본 다국어 평면 (BMP 라 함 (기본 다국어 평면) 16 보조 평면의 정의.) 최신 (실제로 널리 사용되지 않는 유니 코드 버전을 형성 공간이 약간 미만 3 바이트. 그러나 사실은 보조 평면 문자가 UCS-4와 일치하는 코드 공간의 4 바이트를 차지 남아있다. 향후 버전은 UCS-4의 모든 문자를 포함 레벨 3을 달성 ISO10646-1로 확장됩니다 .UCS -4- 아직 완전히 큰 31 비트 문자 세트 플러스 최초로 상수 0 점유 (32)의 전체, 즉 4 바이트를 작성하지 않는다. 이론적으로는 최대 2 ^ 31 개 문자를 표시 할 수있다 그것은 사용하는 모든 상징적 인 언어를 다룹니다.

BMP 인코딩 유니 코드 문자는 각 h는 16 진수를 나타낸다 U + HHHH로 표현. UCS-2는 동일한 인코딩. 동일한 UCS-4 인코딩 개의 해당 바이트 4 바이트, 모든 비트의 제 2 바이트는 0이다.

2. 구현

유니 코드 구현은 인코딩 다르다. 유니 코드 문자 인코딩이 결정된다. 그러나 실제 전송 과정에서 다른 시스템 플랫폼 설계로 인해 반드시 동일하지 않습니다, 공간 절약의 목적을 위해, 유니 코드의 구현은 다른 인코딩. 유니 코드 변환 형식이라고 유니 구현 (유니 변환 형식은 UTF라고 함).

각 문자는 두 개의 매킨토시 (맥) 바이트와 PC를 차지하기 때문에 직접 사용, UTF-16 인코딩에서 유니 코드 인코딩 (만 BMP 문자)과 일치하는 경우 다시, 바이트 순서의 이해입니다 일관성. 이 경우, 동일한 바이트 스트림은 진수 문자 인코딩 4E59으로 다른 내용으로 해석 될 수 있고, 2 바이트 (59)로 분할 4E는 맥 바이트, 하위로부터 읽어 다음 맥 OS가 문자를 발견,이 4E59이 594E로 인코딩됩니다 생각하는 것은 "퀘"이고 Windows에서 U + 4E59 문자로 인코딩 상위 바이트로부터 읽기 시작 "B을." 즉 UTF-16 인코딩 Windows에서로 표시됩니다 맥 OS와 열 문자 "B"저장 "퀘을." UTF-16은 임의의 혼동을 정의 할 수있는 경우 코딩 서열 그런 참고 다음에 부호화 UTF-16의 구현은 리틀 엔디안 (합니다 (이 UTF-16으로 약칭 빅 엔디안) 큰 엔디안을 사용 UTF-16 인코딩을위한 현재 PC 윈도우 시스템과 리눅스 시스템에서 UTF-16 LE) 개념뿐만 아니라 추가 BOM (바이트 순서 표시) 솔루션으로 단축 리틀 엔디안은 기본 UTF-16 LE에 의해 사용된다. (특정 구현 예에서 UTF-16 참조)

또한 유니 코드 구현은 UTF-7, 아주 작은 코드, CESU-8, SCSU, UTF-32 등등, 이러한 구현 중 일부는 특정 국가 및 지역 계획에 대한 향후 접근 방법의 일부에서만 사용이 포함되어 있습니다. 현재 일반적인 구현은 UTF-16 리틀 엔디안 (BOM), UTF-16 빅 엔디안 (BOM), 및 UTF-8입니다. Windows XP 운영 체제와 함께 제공하는 Microsoft 메모장에서 ANSI의 외부 코드를 제거하기 위해 네 개의 비 유니 코드 인코딩을 선택하는 대화 상자, 다른 세 "유니 코드", "유니 코드 빅 엔디안"와 "UTF-"다른 이름으로 저장 " 세 가지 구현 예에 해당하는 8 ".

보조면은 현재 두 번째 및 세 번째면에서 주로 작동 CJK 때문에 GBK, GB18030, 중국어의 Big5 등 유니 전통 중국어, 일본어, 한국어의 다양한 인코딩 베트남 통합 표의 문자를 포함 조정이 초점을 맞추고 있습니다. ASCII, 라틴-1을 확장 모든 유니 코드 문자를 포함하는 최종 고려하여, 어떤 의미에서,이 코드는 후자의 두 가지로, 그 모습의 유니 코드 구현하기 전에 기정 사실로 간주 모든 0있는 공간의 첫 번째 바이트를 인코딩에서 16 비트 유니 코드 문자 인코딩, 두번째 바이트 인코딩 정확하게 원래 인코딩. 그러나 이러한 동아시아 언어 인코딩과 유니 코드 인코딩 해당 관계는 훨씬 더 복잡하다.

비 유니 코드 환경

다른 나라와 지역으로 인해 유니 코드를 지원하지 않는 환경에서 문자 집합의 사용, 제대로 표시되지 않을 수 있습니다 모든 문자 경우. MS는 코드 페이지 (코드 페이지) 부분이 문제, 즉, 유니 코드 문자 인코딩에 의해 지정되는 변환 테이블이 동일한 내부 시스템 사용을 코딩하는 상응하는 유니 코드 문자로 변환되어 해결 전이 변환 테이블 기법을 사용한다. 기본 인코딩 유니 코드를 지원하지 않는이 같은 중국어 번체 big5로에 대한 936 중국어 간체 GBK, 950 (PC에 모두를 의미)로, 고용 인코딩으로의 코드 페이지를 선택 "언어와 로케일"할 수 있습니다. 이 경우, 일부는 매우 잘못된 나타날 수 있습니다 영어 소프트웨어 및 문서 이외의 다른 유럽 언어로 작성된. 중국 문제를 해결합니다 해당 언어로 설정 코드 페이지는,이 상황은 피할 수 없습니다. 기본적으로, 완전히 통합 된 코딩 솔루션이지만, 현재는이 작업을 수행 할 수 없습니다.

코드 페이지 기술은 널리 다양한 플랫폼에 사용됩니다. 코드 페이지 UTF-7은 65,000이며, UTF-8 코드 페이지는 65001입니다.

XML 화 Unicode

UTF-8 표준으로 설정 한 문자, 이론의 부분 집합을 사용하여 XML과 HTML, 우리는 컴퓨터 자체가 적절한 글꼴 장착 할 수있는 한, 어디서든 지원되는 XML 표준 브라우저의 다양한에서 페이지 텍스트에 표시 할 수 있습니다. 당신은 & #의 NNN를 사용할 수 있습니다 포맷 디스플레이 특정 문자. NNN은 문자의 진수 유니 코드를 나타냅니다. 육각 코드 문자 X를 추가 할 수 있습니다 코딩하기 전에합니다. 하지만, 구 버전의 브라우저 16 진수 코드를 인식하지 못할 수 있습니다.

그러나, 이유의 유니 코드 버전의 개발 부분에서 많은 브라우저는 현재에서 사용되는 전체 UCS-2 문자 집합의 유니 코드 버전의 일부만을 표시 할 수 있습니다.

유니 코드를 입력

외부 입력뿐만 아니라, 운영 시스템은 입력을 유니 코드로 여러 가지 방법을 제공합니다. Windows 시스템처럼 지금 Windows2000은 클릭 할 수있는 테이블을 제공 한 후. 은 Microsoft 워드에서 예를 들어, Alt 키, 그리고 유니 코드 문자 코드 입력 0 (십진수)을 눌러 다음과 같은 Alt + 033,865 잎과 문자, 유니 코드 문자 될 것 얻기 위해 Alt 키를 놓습니다. 또한하려면 Alt + X 키 조합은 커서 전에 MS 워드 문자는 또한 네 진수 유니 코드 인코딩을 서로 변환됩니다.

유니 코드 버전 5.0은 이미 있습니다. 전문 컴퓨터, 언어학 및 다른 과학자 유니 코드의 큰 숫자가 있습니다, 유니 코드 표준은 지금뿐만 아니라 코딩 표준을 가지고, 또는 발굴과 인류의 문화 유산의 보호에 종사하면서, 세계에서 인간의 언어 작성된 텍스트의 거대한 데이터베이스를 기록합니다.

이미 GB18030 내부의 모든 문자 (27,484 단어), Unicode32bit 강희 코딩에 넣어 준비 현재 표준 유니 코드 문자가 모두 포함 중국, Unicode16 코딩하십시오.

UTF-8

UTF-8 (8 Weiyuan 범용 문자 세트 / 유니 변환 포맷) 유니 코드 문자 인코딩하는 가변 길이이다. 유니 코드 표준의 모든 문자를 표현하기 위해 사용되며, 첫 번째 바이트의 인코딩은 여전히 ​​소프트웨어가 원래 ASCII 문자를 처리하거나 작은 부분을 수정할 필요가 없습니다하게 ASCII와 호환 할 수있다, 당신은 계속 사용할 수 있습니다 . 따라서 점차적으로 인코딩 된 전자 메일, 웹 페이지 저장 다른 응용 프로그램이나 전송 텍스트, 채택 우선 순위를가되었다.

UTF-8은 각 문자 인코딩 한 4 바이트 사용

128 US-ASCII 문자 하나만 바이트 인코딩 (U + 007F에 0000 U + 유니 코드 범위).

추가 문자, 그리스어, 키릴 어, 아르메니아어, 히브리어, 아랍어, 시리아와 U + 07FF에 U + 0080의 두 바이트 코드를 필요로 타 아나 (유니 코드 범위 라틴어 ).

(가장 일반적으로 단어를 사용 포함) 기타 기본 다국어 평면 (BMP) 문자가 3 바이트 인코딩.

유니 코드 문자 다른 보조 비행기는 거의 4 바이트 코드에 사용하지 않습니다.

상술 한 제 문자 조건은 UTF-8 인코딩 자원 집약적도 보인다로 4 바이트를 사용한다. 그러나, UTF-8은 일반적으로 사용하는 모든 문자를 3 바이트로 표현 될 수 있으며, 또 다른 선택, UTF-16으로 인코딩 된 동일한 인코딩하는 데 필요한 4 바이트의 네 번째 캐릭터, 그래서 결정하는 UTF-8 또는 UTF-16보다 효율적인 부호화뿐만 아니라 문자의 분포 범위에 따라 사용될 수있다. 당신은 그런 DEFLATE와 같은 일부 전통적인 압축 시스템을 사용하는 경우, 서로 다른 코딩 시스템의 차이점은 무시된다. 기존의 압축이 짧은 텍스트 압축에 거의 영향을 알고리즘을하기 때문에, 유니 코드 (SCSU)의 경우 표준 압축 구성표를 사용하는 것이 좋습니다.

비트 유니 코드 문자는 여러 부분으로 분할하고, UTF-8 바이트 문자열 위치 하위 비트에 할당된다. 다음 문자에서 U + 0080은 인코딩 단일 바이트 문자의 내용을 사용합니다. 이러한 코드는 정확히 칠위안 ASCII 문자를 해당합니다. 다른 경우에는, 그것은 문자를 표시하는 문자의 네 그룹까지 걸릴 수 있습니다. 이 멀티 바이트는 MSB가 혼동 7 위안 ASCII 문자를 방지하고 원활하게 실행 선두 바이트 문자열의 표준 (표준 바이트 지향 문자열)을 유지하기 위해 1로 설정됩니다.

추천

출처www.cnblogs.com/youpeng/p/10991271.html