Unicode и std :: string в C ++

Если я напишу случайную строку в файл на C ++, состоящую из некоторых символов Юникода, мой текстовый редактор скажет мне, что я не создал допустимый файл UTF-8.

// Code example
const std::string charset = "abcdefgàèíüŷÀ";
file << random_string(charset); // using std::fstream

Что я могу сделать, чтобы решить эту проблему? Мне нужно делать много дополнительного ручного кодирования? Насколько я понимаю, std :: string не заботится о кодировке, а только о байтах, поэтому, когда я передаю ему строку Unicode и запишите его в файл, конечно, этот файл должен содержать те же байты и распознаваться как файл в кодировке UTF-8?

9
задан Oystein 29 October 2010 в 12:14
поделиться