[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ICU



Мда.
Сам нашёл, как сделать: почитать документацию... >_<
В C API ICU всё реализовано на колбэках.
Надо установить штатные колбэки UCNV_TO_U_CALLBACK_SUBSTITUTE и UCNV_FROM_U_CALLBACK_SUBSTITUTE с контекстом UCNV_SUB_STOP_ON_ILLEGAL на соответствующие энкодеры.

http://icu-project.org/apiref/icu4c44/ucnv_8h.html#ab1f96fe9de8e2ee39159f748a8d33a4b

ucnv_setToUCallBack(m_converter, UCNV_TO_U_CALLBACK_SUBSTITUTE,
                           UCNV_SUB_STOP_ON_ILLEGAL, 0,
                           0, &err);

И вообще, хороший пример работы с ICU есть здесь:
https://chromium.googlesource.com/experimental/chromium/blink/+/master/Source/wtf/text/TextCodecICU.cpp


Reply to: