3

바꾸어 말하기 : 모든 결합 문자 조합을 하나의 코드 포인트에 매핑 할 수 있습니까?모든 "문자"가 단지 하나의 코드 포인트 인 유니 코드의 인코딩이 있습니까?

유니 코드는 처음이지만 유니 코드의 모든 경우에 한 문자가 하나의 코드 포인트가되는 인코딩, 정규화 또는 표현이 없다고 생각됩니다. 이 올바른지?

Basic Multilingual Plane에서도 마찬가지입니까?

+0

모든 유니 코드 "문자"는 단지 하나의 "코드 포인트"입니다. 용어는 혼란 스러울 수 있습니다. "문자"는 다양한 방식으로 해석 될 수 있으므로 유니 코드는 "문자"라는 특정 의미를 포괄하는 "코드 포인트"라는 용어를 사용했습니다. 이제 "글리프"는 둘 이상의 "코드 포인트"로 구성 될 수 있으며 "코드 포인트"는 두 번 이상 "코드 단위"로 인코딩 될 수 있습니다. UTF-8에서 "코드 유닛"은 8 비트이고 UTF-16에서 "코드 유닛"은 16 비트입니다. UTF-32 (거의 사용되지 않음)에서는 "코드 포인트"와 "코드 유닛"을 구별 할 필요가 없지만 여러 개의 "코드 포인트"에서 단일 "글리프"를 만들 수도 있습니다. – hippietrail

+0

@hippietrail 유니 코드 [spec section 3.4] (http://www.unicode.org/versions/Unicode6.2.0/ch03.pdf#G2212)의 * 문자 * 추상 문자 *를 의미합니까?내가 혼란 스럽기 때문에 나는 이것을 묻는다. – Eonil

+0

@ Eonil : 나는 첫째로 * 문자 * = * 코드 포인트 *와 두 번째로 * 문자 * = * 글리프 *를 의미한다. 두 분 중 어느 분이 당신에게 묻고 있습니까? – hippietrail

답변

7

char == 하나의 숫자를 의미하는 경우 (예 : 모든 문자가 같은 바이트 수/단어/what-have-you로 표현되는 경우) : UCS-4에서 각 문자는 4- 바이트 수. 그것은 모든 문자가 단일 값으로 표현 될만큼 충분히 큰 것입니다. 그러나 더 높은 문자를 필요로하지 않으면 상당히 낭비입니다.

호환성 순서를 나타내는 경우 (예 : e + ´ =>) : 기존 현대어에서 사용되는 대부분의 조합에 대해 단일 문자 표현이 있습니다. 자신의 언어를 만들면 문제가 생길 수 있습니다 ...하지만 사람들이 실제로 사용하는 언어를 고수한다면 괜찮을 것입니다.

+0

NFC 정규화 양식에도 100 % 매핑 보장을받을 수 있습니까? – Eonil

+1

100 % 매핑 보장이 없습니다. 현대 언어로 볼 수있는 조합의 사전 합성을 나타내는 코드 포인트가 있습니다. NFC는 대부분의 경우 사전 합성물을 선호합니다. 그러나 일반적으로 함께 사용하지 않는 문자와 악센트 (예 :'z̏')가 있거나 한 문자에 대해 악센트가있는 경우 한 코드 포인트로 잘라 낼 수 없습니다. – cHao

+0

이것은 사실이 아닙니다. 단일 문자 표현이없는 기존의 현대 언어에서 사용되는 많은 조합이 있습니다. 특히 인도어 스크립트, 태국어, 라오 어어와 같은 라틴어 이외의 스크립트에서 나는 꽤 많은 러시아어 사전에 있기 때문에 꽤 일반적인 액센트가있는 키릴 문자 모음을 고려할 것입니다. 그러나 그들은 단일 코드 점 표현을 가지고 있지 않습니다. – hippietrail

1

유니 코드의 모든 경우에 한 문자가 하나의 코드 포인트가되는 인코딩, 정규화 또는 표현이없는 것처럼 보입니다. 이 올바른지?

단어 ". 문자"의 의미의 의미에 따라 달라 유니 코드 표준의 3 장에 추상 문자 (정의 (7)의 개념을 가지고 : "조직 제어에 사용되는 정보의 단위를 , 또는 텍스트 데이터 표현 ") 및 인 코드 (정의 11 :"추상 문자와 코드 포인트 간의 연관성 (또는 매핑) "). 따라서 문자는 결코 이 코드 포인트 인이지만 많은 코드 포인트의 경우 코드 포인트에 매핑되는 추상 문자가 존재합니다.이 매핑은 "인코딩 된 문자"라고합니다. 그러나 (정의 11, 4 단락) : "단일 추상 문자는이 또한 기본 다국어 평면에 대한 사실인가요 코드 포인트 "

의 순서로을 표현 될 수있다?

BMP와 다른 평면 사이의 추상 문자 또는 인코딩 된 문자와 관련된 개념적 차이점은 없습니다. 위의 문장은 코드 공간의 모든 부분 집합에 적용됩니다.

응용 프로그램에 따라 용어를 구분해야 그리, 그래 핀 클러스터, 그래 핀, 추상 문자, 인코딩 된 문자, 코드 포인트, 스칼라 값, 코드 단위바이트. 이 개념들은 모두 다르고 그 둘 사이에 간단한 매핑이 없습니다. 특히, 이러한 엔티티 간에는 일대일 매핑이 거의 존재하지 않습니다.

6

모든 결합 문자 조합을 하나의 코드 포인트에 매핑 할 수 있습니까?

문자 조합을 조합 할 때마다? 어떻게 당신의 제안 인코딩 문자열 "à ̴ ̵ ̶ ̷ ̸ ̡ ̢ ̧ ̨ ̛ ̖ ̗ ̘ ̙ ̜ ̝ ̞ ̟ ̠ ̣ ̤ ̥ ̦ ̩ ̪ ̫ ̬ ̭ ̮ ̯ ̰을 나타내는 것 33,210 ̲ ̳ ̹ ̺ ̻ ̼ ͇ ͈ ͉ ͍ ͎ ́ ̂ ̃ ̄ ̅ ̈ ̆ ̇ ̉ ̊ ̋ ̌ ̍ ̎ ̏ ̐ ̑ ̒ ̓ ̔ ̽ ̾ ̿,́ ́ ͂ ̓ ̈ ͆ ͊ ͋ ͌ ̕ ̚ ͅ ͏ ͓ ͔ ͕ ͖ ͙ ͚ ͐ ͑ ͒ ͗ ͛ ͣ ͤ ͥ ͦ ͧ ͪ ͨ ͩ ͫ ͬ 01,237 711,741,592,899,ͮ ͯ ͘ ͜ ͟ ͢ ͝ ͞ ͠ ͡ "? (100 개의 조합 기호가 붙은 'a'?) 실용적이지 않습니다.

그러나 Unicode에는 "미리 구성된"문자가 많이 있습니다 (예 : áçñü). 정규화 양식 C는 가능할 때마다 분해 된 버전 대신에 이것을 사용합니다.