Bestimmen der UTF-8-codierten String-Länge
In C kann die std::string-Codierung variieren und die Funktion length() verwenden Eine UTF-8-codierte Zeichenfolge kann zu einer ungenauen Darstellung ihrer tatsächlichen Länge führen. Um die richtige Länge zu ermitteln, berücksichtigen Sie die folgenden Bytesequenzmuster:
0x00000000 - 0x0000007F: 0xxxxxxx 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
So berechnen Sie die tatsächliche Länge einer UTF-8-codierten Zeichenfolge:
Der folgende Codeausschnitt veranschaulicht die Implementierung:
<code class="cpp">int len = 0; const char *s = str.c_str(); // convert to C-style string while (*s) len += (*s++ & 0xc0) != 0x80;</code>
Das obige ist der detaillierte Inhalt vonWie kann man die Länge einer UTF-8-codierten Zeichenfolge in C genau bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!