Преобразование UTF-8 с использованием стандартных библиотек C ++ (без / clr) - PullRequest
2 голосов
/ 31 октября 2010

У меня есть такая строка: «Это Пи (\ u03a0) и Сигма (\ u03a3)». Как я могу преобразовать это, чтобы содержать и печатать эффективные символы, используя стандартные библиотеки C ++?

В этом решении http://msdn.microsoft.com/en-us/library/system.text.encoding.utf8(VS.80).aspx, используется .NET Framework (компиляция / clr), и я хочу избегать использования стандартных библиотек C ++.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 31 октября 2010

Я не совсем уверен, что вы подразумеваете под "стандартом", но, думаю, вы имели в виду "неуправляемый".Если вы этого хотите, попробуйте ICU .Это не очень легко освоить, но он определенно способен на такие преобразования .

Кстати.Если вы просто хотите преобразовать wstring в кодировке UTF-16 в строку в кодировке UTF-8, вы можете сделать это с помощью WideCharToMultiByte () вызова API (при условии Windows).

0 голосов
/ 31 октября 2010

Я не знаю, есть ли способ сделать это с помощью стандартной библиотеки, хотя я думаю, что нет. Однако вы можете использовать iconv . Это часть стандартной библиотеки C gnus, но есть Windows DLL .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...