README.md 2.0 KB

Здесь представлены функции и enum'ы для работы с кодировками.

Наиболее полезные конструкции этой библиотеки:

  1. enum ECharset - перечень кодировок, которые умеет определять детектор кодировок.
  2. Функция inline TString Recode(ECharset from, ECharset to, const TString& in) для преобразования кодировок.
  3. Функция inline TUtf16String UTF8ToWide(const char* text, size_t len, const CodePage& cp), пытающаяся построить широкую строку из UTF-8, а если не получается - с помощью кодировки cp.

  4. Класс TCiString - аналог TString, но использующий case-insensitive-компаратор и хеш и поддерживающий разные кодировки.

В комплекте есть ещё много функций для работы со старой однобайтной Yandex-кодировкой. Не рекомендуется к использованию. Для преобразования из UTF-8 в TUtf16String и для работы с Unicode используйте функции из arcadia/util/charset.

Библиотека library/cpp/charset/lite - содержит часть функциональности, не зависящей от libiconv (e.g. пункты 2 и 3 из основной библиотеки)