Как правильно посчитать длину строки, содержащей кириллицу?

std::string str1 = "Test";
std::string str2 = "тест";

Я заметил, что str1.size() = 4, а str2.size() = 8

Как это можно правильно посчитать?


Ответы (1 шт):

Автор решения: azhirov1991

Кириллица занимает 2 байта на каждый символ, т.к. используется Юникод. Латиница и прочие символы занимают по 1 байту на символ, т.к. кодировка ASCII.

Возможно, вам нужен не size(), а length().

Смотрите тут

→ Ссылка