> Java > java지도 시간 > Java UTF-16 인코딩의 대리 쌍이란 무엇입니까?

Java UTF-16 인코딩의 대리 쌍이란 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-05 10:12:11
원래의
1019명이 탐색했습니다.

What are Surrogate Pairs in Java's UTF-16 Encoding?

Java UTF-16 인코딩의 대리 쌍

대리 쌍의 개념은 코드 포인트가 더 높은 유니코드 문자로 작업할 때 발생합니다. UTF-16에서 사용되는 16비트 코드 단위 범위 인코딩.

서로게이트 쌍이란 무엇입니까?

UTF-16에서 서로게이트 쌍은 단일 코드 포인트를 함께 나타내는 두 코드 단위의 조합입니다. 단일 16비트 코드 단위로 문자를 인코딩할 수 없는 경우 다음과 같이 표시됩니다.

  • 쌍의 시작 부분에 U D800 범위의 상위 대체 코드 단위가 사용됩니다. U DBFF.
  • 하위 대리 코드 단위는 상위 대리 코드 뒤에 오고 범위는 U DC00에서 U까지입니다. DFFF.

높은 서로게이트는 코드 포인트의 전반부를 나타내고 하위 서로게이트는 후반부를 나타냅니다. 이들은 함께 32비트 코드 포인트를 형성합니다.

인코딩 및 디코딩

U FFFF 이상의 코드 포인트를 서로게이트 쌍으로 인코딩하는 과정은 다음과 같습니다.

상위 서로게이트를 얻으려면 코드 포인트에서 0x10000을 뺍니다. value.
상위 서로게이트 값을 10비트만큼 오른쪽으로 이동합니다.
상위 서로게이트 값에 U D800을 추가하여 상위 서로게이트 코드 단위를 얻습니다.
코드 포인트의 나머지 10비트를 가져와 하위 서로게이트 값을 얻습니다. 서로게이트 값.
하위 서로게이트 값에 U DC00을 추가하여 하위 서로게이트 코드를 얻습니다.

대리 쌍에서 코드 포인트를 디코딩하려면 반대 프로세스가 필요합니다.

성격 ?. 이 문자를 대리 쌍으로 인코딩하려면:

U 10400에서 0x10000 빼기: 0x400
0x400을 오른쪽으로 10비트 이동: 0x4
U D800을 0x4에 추가: U D804(상위 대리 코드 단위)
U 추가 DC00 ~ 0x3C0: U DC00(낮은 대리 코드 단위)

문자 U 10400은 이제 대리 쌍 U D804 U DC00으로 표시됩니다.

위 내용은 Java UTF-16 인코딩의 대리 쌍이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿