Manejar cadena UTF-8

Como sé, Linux utiliza la codificación UTF-8. Esto significa que puedo usarstd::string para manejar la cuerda ¿verdad? Sólo la codificación será UTF-8.

Ahora en UTF-8 sabemos que algunos caracteres tienen 1 byte y 2,3 bytes. Mi pregunta es: ¿cómo lidiar con la cadena codificada en UTF-8 en Linux usando C ++?

En particular: ¿cómo obtendría la longitud de la cadena en bytes (o número de caracteres)? ¿Cómo atravesarías la cuerda? etc.

La razón por la que pregunto es que, como dije en UTF-8, los caracteres pueden tener más de un byte, ¿no? Tan obviamentemyString[7] ymyString[8] - Puede que no se refiera a dos personajes diferentes. También el hecho de que la cadena UTF-8 tiene diez bytes, no dice mucho sobre su número de caracteres, ¿verdad?

Respuestas a la pregunta(5)

Su respuesta a la pregunta