UTF-8로 인코딩된 문자열 길이 결정
C에서는 std::string 인코딩이 다를 수 있으며, 길이() 함수를 사용하면 UTF-8로 인코딩된 문자열은 실제 길이를 부정확하게 표현할 수 있습니다. 올바른 길이를 확인하려면 다음 바이트 시퀀스 패턴을 고려하십시오.
0x00000000 - 0x0000007F: 0xxxxxxx 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
UTF-8로 인코딩된 문자열의 실제 길이를 계산하려면:
다음 코드 조각은 구현을 보여줍니다.
<code class="cpp">int len = 0; const char *s = str.c_str(); // convert to C-style string while (*s) len += (*s++ & 0xc0) != 0x80;</code>
위 내용은 C에서 UTF-8로 인코딩된 문자열의 길이를 정확하게 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!