У меня есть код С# на стороне сервера, который сериализует (среди прочего) некоторые строки Unicode (используя кодировку UTF8).
На стороне клиента я хотел бы десериализовать все эти строки. Я смог их десериализовать и сохранить как wstrings.
Но потом я слышал, что строки Unicode можно хранить и в обычных string. Я также читал, что wstring не переносимы, и поэтому их следует избегать. Поэтому мне интересно, каковы преимущества/недостатки использования string по сравнению с wstring в моей ситуации.
Кроме того, я до сих пор не понимаю, как можно хранить строки Unicode внутри обычных переменных string. Это звучит странно, зная, что строка является вектором символов. Как можно сохранить произвольный символ внутри char (8-битный тип)? Будет ли string::length() возвращать количество символов или байтов? Как насчет string::size()? Что вернет оператор индексации?
utf-8вы можете просто использоватьstd::string, если конечно вам не нужен доступ к конкретному символу по индексу - person fghj   schedule 16.11.2015