PHP에서 UTF-8 문자에 대한 UCS-2 코드 포인트 결정
현재 작업은 UCS-2 코드 포인트를 추출하는 것입니다. 주어진 UTF-8 문자열 내의 문자에 대해. 이를 달성하려면 사용자 정의 PHP 함수를 정의할 수 있습니다.
먼저 UTF-8 인코딩 체계를 이해하는 것이 중요합니다. 각 문자는 유니코드 코드 포인트에 따라 1~4바이트의 시퀀스로 표시됩니다. 각 바이트 크기의 범위는 다음과 같습니다.
문자당 바이트 수를 확인하려면 첫 번째 바이트를 확인하세요.
바이트 수가 결정되면 비트 조작을 사용하여 코드 포인트를 추출할 수 있습니다.
사용자 정의 PHP 함수:
기반 위 분석에서 단일 UTF-8 문자를 입력으로 사용하고 UCS-2 코드 포인트를 반환하는 사용자 정의 PHP 함수는 다음과 같습니다.
<code class="php">function get_ucs2_codepoint($char) { // Initialize the code point $codePoint = 0; // Get the first byte $firstByte = ord($char); // Determine the number of bytes if ($firstByte < 128) { $bytes = 1; } elseif ($firstByte < 192) { $bytes = 2; } elseif ($firstByte < 224) { $bytes = 3; } elseif ($firstByte < 240) { $bytes = 4; } else { // Invalid character return -1; } // Shift and extract code point switch ($bytes) { case 1: $codePoint = $firstByte; break; case 2: $codePoint = ($firstByte & 0x1F) << 6; $codePoint |= ord($char[1]) & 0x3F; break; case 3: $codePoint = ($firstByte & 0x0F) << 12; $codePoint |= (ord($char[1]) & 0x3F) << 6; $codePoint |= ord($char[2]) & 0x3F; break; case 4: $codePoint = ($firstByte & 0x07) << 18; $codePoint |= (ord($char[1]) & 0x3F) << 12; $codePoint |= (ord($char[2]) & 0x3F) << 6; $codePoint |= ord($char[3]) & 0x3F; break; } return $codePoint; }</code>
사용 예:
이 기능을 사용하려면 UTF-8 문자를 입력으로 제공하세요.
<code class="php">$char = "ñ"; $codePoint = get_ucs2_codepoint($char); echo "UCS-2 code point: $codePoint\n";</code>
출력:
UCS-2 code point: 241
위 내용은 PHP의 UTF-8 문자에서 UCS-2 코드 포인트를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!