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?

questionAnswers(5)

yourAnswerToTheQuestion