utf8mb4 кодировать / декодировать в C++

Сервер третьей части передает строку моей клиентской программе, которая содержит как данные utf8, так и эмодзи в кодировке Unicode (перечислены здесь). например:

например

Некоторое время я гуглил и обнаружил, что это называется utf8mb4 кодировкой, которая используется в приложении SQL.

Я нахожу статью об utf8mb4 в mysql/python/ruby ​​/etc... но нет C++. Есть ли библиотека C++, которая может делать кодирование / декодирование utf8mb4?

1 ответ

Решение

MySQL вызывает utf8mb4, что на самом деле utf8:

Набор символов с именем utf8 использует максимум три байта на символ и содержит только символы BMP. Начиная с MySQL 5.5.3, набор символов utf8mb4 использует максимум четыре байта на символ, поддерживает дополнительные символы:

поэтому любая библиотека, которая поддерживает utf8, даст вам utf8mb4. В этом вопросе был задан вопрос о том, какие решения существуют в C++ для преобразования в / из utf8: как работать с UTF-8 в C++, преобразование из других кодировок в UTF-8. Три решения приведены ICU (Международные компоненты для Unicode), Boost.Locale и C++11.

Другие вопросы по тегам