Lidar com string UTF-8
Como eu sei, o linux usa a codificação UTF-8. Isso significa que eu posso usarstd::string
para manipulação de string certo? Apenas a codificação será UTF-8.
Agora em UTF-8 sabemos que alguns caracteres são 1 byte alguns 2,3 .. bytes. Minha pergunta é: como você lida com a string codificada em UTF-8 no Linux usando C ++?
Particularmente: como você obteria o tamanho da string em bytes (ou número de caracteres)? Como você atravessaria a corda? etc.
A razão que eu estou perguntando é que, como eu disse em caracteres UTF-8 pode ser mais do que um byte certo? Então obviamentemyString[7]
emyString[8]
- pode não se referir a dois caracteres diferentes. Também o fato de que a string UTF-8 tem dez bytes, não diz muito sobre seu número de caracteres, certo?