Re: ICU

2013-11-22 Пенетрантность Артём Н.

Мда.
Сам нашёл, как сделать: почитать документацию... _
В 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


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/528f7876.8000...@yandex.ru



ICU

2013-11-20 Пенетрантность Артём Н.

Может быть кто-нибудь пользовался libicu для перекодировки?
Наверняка тут есть такие. :-)
Подскажите пожалуйста.

Мне нужно перекодировать строго в/из ASCII-7.
Если в источнике или в результате есть символы с кодом больше 127, я хочу 
получить ошибку.
Использую ucnv_convertEx(), например передавая в качестве from энкодера, энкодер 
с кодировкой US-ASCII.
Но чтобы там ни было в старшем бите, он мне успешно перекодирует (без возврата 
ошибки) в непечатные символы.


Как сделать так, чтобы при передаче некорректного символа ASCII (с установленным 
старшим битом), устанавливался флаг ошибки, а не SUCCESS?



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/528d0311.3010...@yandex.ru



xalan+xereces+icu + ðóññêèé

2002-07-22 Пенетрантность Dmitry Maevsky
Hello!
  Люди в указанной связке из пакетов (причем c libxercesicu1) при
  попытке обработать xml с русскими символами Xalan выдает ошибку:
  SAXException Message is: Invalid character (Unicode: 0xDA72)

  Чего подправить надо? (ну руки понятно... :)

-- 
Best regards,
 Dmitry  mailto:[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]