Java UTF-16 인코딩의 대리 쌍
대리 쌍의 개념은 코드 포인트가 더 높은 유니코드 문자로 작업할 때 발생합니다. UTF-16에서 사용되는 16비트 코드 단위 범위 인코딩.
서로게이트 쌍이란 무엇입니까?
UTF-16에서 서로게이트 쌍은 단일 코드 포인트를 함께 나타내는 두 코드 단위의 조합입니다. 단일 16비트 코드 단위로 문자를 인코딩할 수 없는 경우 다음과 같이 표시됩니다.
높은 서로게이트는 코드 포인트의 전반부를 나타내고 하위 서로게이트는 후반부를 나타냅니다. 이들은 함께 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!