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?