Ручка UTF-8 строка

Насколько я знаю, Linux использует кодировку UTF-8. Это значит, что я могу использоватьstd::string для обработки строки правильно? Просто кодировка будет UTF-8.

Теперь в UTF-8 мы знаем, что некоторые символы составляют 1 байт, а некоторые 2,3 .. байта. Мой вопрос: как вы справляетесь со строкой в кодировке UTF-8 в Linux, используя C ++?

В частности: как бы вы получили длину строки, скажем, в байтах (или количество символов)? Как бы вы пересекали строку? и т.п.

Причина, по которой я спрашиваю, состоит в том, что, как я уже сказал, в символах UTF-8 может быть больше одного байта, верно? Так очевидноmyString[7] а такжеmyString[8] - может не относиться к двум разным персонажам. Кроме того, тот факт, что строка UTF-8 занимает десять байтов, мало говорит о количестве символов, верно?

Ответы на вопрос(5)

Ваш ответ на вопрос