Предположим, что я получаю несколько сотен строк текста в виде строки (C++) из API и посыпать этими данными немецкими умляутами, такими как ä или ö, которые необходимо заменить на ae и oe. Я знаком с кодировкой (ну, я читал http://www.joelonsoftware.com/articles/Unicode.html), и решение проблемы было тривиальным (в основном, поиск по строке, удаление символа и добавление 2 других).Как эффективно заменить немецкие умляуты на C++?
Однако, я не знаю достаточно о C++, чтобы сделать это быстро. Я только что наткнулся на StringBuilder (http://www.codeproject.com/Articles/647856/4350-Performance-Improvement-with-the-StringBuilde), что значительно улучшило скорость, но мне было любопытно, есть ли какие-нибудь лучшие или более умные способы сделать это?
С utf8 это проще: ä, ö и ü двухбайтовые, как и ee oe и ue. –
Btw, я задаю этот вопрос, чтобы на самом деле узнать что-то о C++ - (я многому научился из связанной статьи Stringbuilder) - мой код достаточно быстро для моих целей :-) –
@BirgitP .: 'StringBuilder' бесполезен в C++ ... вам просто нужно в первую очередь использовать 'std :: string'. Реальный вопрос, однако, заключается в том, что кодировка вашей строки. Не могли бы вы указать, как буквы с умляутами и буквы с завершающим «e» представлены на уровне байтов? –