somov 65d0d84a58 Fix USE_ICONV=local on macOS | 10 months ago | |
---|---|---|
.. | ||
generated | beb63ece3a Restoring authorship annotation for <grig@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
lite | 6d3e410c45 Remove CMakeLists from main (#2032) | 11 months ago |
ut | ecf3635d74 Intermediate changes | 1 year ago |
README.md | ae87be2b19 Introduce library/cpp/charset/lite which excludes functionality with dependency on libiconv | 1 year ago |
ci_string.cpp | 9abfb1a53b Restoring authorship annotation for <yazevnul@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
ci_string.h | 344ea37b4a Restoring authorship annotation for Vlad Yaroslavlev <vladon@vladon.com>. Commit 2 of 2. | 3 years ago |
ci_string_ut.cpp | 344ea37b4a Restoring authorship annotation for Vlad Yaroslavlev <vladon@vladon.com>. Commit 2 of 2. | 3 years ago |
codepage.cpp | ae87be2b19 Introduce library/cpp/charset/lite which excludes functionality with dependency on libiconv | 1 year ago |
codepage.h | e7879def80 Restoring authorship annotation for <esgv@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
codepage_ut.cpp | ecf3635d74 Intermediate changes | 1 year ago |
cp_encrec.cpp | 570af55299 Restoring authorship annotation for <uht@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
decodeunknownplane.cpp | ae87be2b19 Introduce library/cpp/charset/lite which excludes functionality with dependency on libiconv | 1 year ago |
doccodes.cpp | d3a398281c Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2. | 3 years ago |
doccodes.h | beb63ece3a Restoring authorship annotation for <grig@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
iconv.cpp | 65d0d84a58 Fix USE_ICONV=local on macOS | 10 months ago |
iconv.h | 47a7e7b296 Restoring authorship annotation for <kerzum@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
iconv_ut.cpp | 73bb02f249 Restoring authorship annotation for <sereglond@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
recyr.hh | 9d0e9c90c0 Restoring authorship annotation for <vsolon@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
recyr_int.hh | 570af55299 Restoring authorship annotation for <uht@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
recyr_int_ut.cpp | ecf3635d74 Intermediate changes | 1 year ago |
wide.cpp | 47a7e7b296 Restoring authorship annotation for <kerzum@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
wide.h | c1979c2381 Restoring authorship annotation for <muzich@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
wide_ut.cpp | ecf3635d74 Intermediate changes | 1 year ago |
ya.make | ef05dd5da5 suport for use of local libaio, libiconv, libidn | 1 year ago |
Здесь представлены функции и enum'ы для работы с кодировками.
Наиболее полезные конструкции этой библиотеки:
enum ECharset
- перечень кодировок, которые умеет определять детектор кодировок.inline TString Recode(ECharset from, ECharset to, const TString& in)
для преобразования кодировок.Функция inline TUtf16String UTF8ToWide(const char* text, size_t len, const CodePage& cp)
, пытающаяся построить широкую строку из UTF-8, а если не получается - с помощью кодировки cp
.
Класс TCiString
- аналог TString
, но использующий case-insensitive-компаратор и хеш и поддерживающий разные кодировки.
В комплекте есть ещё много функций для работы со старой однобайтной Yandex-кодировкой. Не рекомендуется к использованию. Для преобразования из UTF-8 в TUtf16String
и для работы с Unicode используйте функции из arcadia/util/charset.
Библиотека library/cpp/charset/lite - содержит часть функциональности, не зависящей от libiconv (e.g. пункты 2 и 3 из основной библиотеки)