Подтвердить что ты не робот

Портативная и простая строковая библиотека unicode для C/С++?

Я ищу портативную и удобную в использовании библиотеку строк для C/С++, которая помогает мне работать с вводом/выводом Unicode. В лучшем случае он сохранит свои строки в памяти в UTF-8 и позволит мне преобразовать строки из ASCII в UTF-8/UTF-16 и обратно. Мне больше не нужно, кроме того (нормально, либеральная лицензия не повредит). Я видел, что С++ поставляется с заголовком <locale>, но это работает только на wchar_t, что может быть или не быть UTF -16, и я не уверен, насколько это хорошо.

Используются случаи, например: В Windows API-интерфейсы unicode ожидают строки UTF-16, и мне нужно преобразовать строки ASCII или UTF-8, чтобы передать их API. То же самое касается XML-синтаксического анализа, который может поставляться с UTF-16, но я на самом деле хочу только обрабатывать внутренне с UTF-8 (или, если на то пошло, если я переключаюсь внутри на UTF-16, мне потребуется преобразование в это в любом случае).

До сих пор я взглянул на ICU, что довольно велико. Более того, он хочет, чтобы его создавали с использованием собственных файлов проекта, в то время как я предпочел бы библиотеку, для которой есть либо проект CMake, либо который легко построить (что-то вроде компиляции всех этих файлов .c, ссылок и хороших результатов), вместо того, чтобы отправлять что-то большое, как ICU, по моему приложению.

Знаете ли вы такую ​​библиотеку, которая также поддерживается? В конце концов, это, по-видимому, довольно простая проблема.

4b9b3361

Ответ 1

UTF8-CPP кажется именно тем, что вы хотите.

Ответ 2

Я бы рекомендовал вам посмотреть библиотеку GNU iconv.