Преобразование упрощенного китайского текста GB 2312 в UTF8 - PullRequest
1 голос
/ 21 октября 2008

Как преобразовать текст между многобайтовыми текстовыми строками, например, упрощенный китайский GB 2312, в UTF8 с помощью c ++?

Ответы [ 2 ]

3 голосов
/ 21 октября 2008

В системах Unix лучше всего использовать библиотеку iconv.

См. iconv_open , iconv , iconv_close

Конечно, вам нужно знать кодировку символов (EUC-CN, HZ).

Если не в системе Unix, поищите какую-нибудь поддержку в ОС, выполнить преобразование символов вручную очень сложно.

2 голосов
/ 21 октября 2008

WinAPI: MultiByteToWideChar и наоборот, WideCharToMultiByte . Я могу опубликовать образец позже.

Однако UTF-8 довольно сложно представить и, более конкретно, использовать в приложениях. Функция MultiByteToWideChar преобразует строку в UTF-16 (UCS2) . Я предлагаю вам использовать этот формат в своем программном обеспечении для внутреннего использования и конвертировать его в UTF-8, используя WideCharToMultiByte, если ваша программа должна производить такой вывод. Это стандартный способ выполнения интернационализации / Unicode в Windows и OS X.

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