수색…


비고

프로그래머가 종종 한 문자를 생각하는 유니 코드 코드 포인트는 사용자가 한 문자라고 생각하는 것과 종종 일치합니다. 그러나 위의 예에서와 같이 때로는 "문자"가 여러 코드 포인트로 구성됩니다.

즉, 문자열을 자르거나 지정된 인덱스에서 문자를 가져 오는 것과 같은 작업이 예상대로 작동하지 않을 수 있습니다. 예를 들어 "Café" 문자열의 4 번째 문자는 'e' (악센트 없음)입니다. 마찬가지로 문자열을 길이 4로 자르면 악센트가 제거됩니다.

이러한 코드 포인트 그룹의 전문 용어는 grapheme 클러스터 입니다. UAX # 29 : 유니 코드 텍스트 분할 참조

분별 기호

분음 기호가있는 편지는 문자로 표시 될 수 있으며 결합 수정 기호로 표시 될 수 있습니다. 일반적으로 를 하나의 문자로 생각하지만 실제로는 2 개의 코드 포인트입니다.

  • U+0065 - 라틴 소문자 E
  • U+0301 - 급히 합격

마찬가지로 = c + ¸ = a + ˚

결합 된 형태들

문제를 복잡하게하기 위해 종종 작성된 양식의 코드 포인트가 있습니다.

"Café" = 'C' + 'a' + 'f' + 'e' + '´'
"Café" = 'C' + 'a' + 'f' + 'é'

이 문자열은 동일하게 보이지만 같은 길이가 아니며 길이가 동일하지 않습니다 (각각 5와 4).

잘고 텍스트

이것을 Zalgo Text 라고하는이 것이 극단적으로 밀어 입니다. 다음은 예제의 첫 번째 grapheme 클러스터입니다. 15 개의 코드 포인트로 구성되어 있습니다 : 라틴 문자 H 와 14 개의 결합 마크.

H

이것은 일반적인 텍스트에는 나타나지 않지만 "문자"는 실제로 임의의 수의 코드 포인트로 구성 될 수 있음을 보여줍니다

그림 이모티콘

많은 그림 이모티콘은 하나 이상의 코드 포인트로 구성됩니다.

  • 🇯🇵 : 플래그는 "지역 기호 표시 문자"(🇯 + 🇵)의 쌍으로 정의됩니다.
  • 🙋🏿 : 일부 이모티콘 뒤에 스킨 톤 수정자가 올 수 있습니다. 🙋 +
  • 😀︎ 또는 variation : Windows 10에서는 변형 선택기 ( U+FE0E 또는 U+FE0F )를 추가하여 이모티콘이 컬러 또는 흑백인지 지정할 수 있습니다.
  • 👨👩👧👦 : 가족. 소년, 소녀, 여성 및 남성 (👦, 👧, 👩, 👨)의 그림 이모티콘에 제로 너비 결합 자 ( U+200D )와 함께 인코딩됩니다. 그것을 지원하는 플랫폼에서, 이것은 두 명의 아이들이있는 가족의 묘사로 표현됩니다.


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow