![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Boost.Locale: boost::locale::util::base_converter Class ReferenceBoost , ,
boost::locale::util::base_converter Class Reference Этот класс представляет собой простой конвертер без состояния от UCS-4 и до UCS-4 для каждой отдельной точки кода.Больше... <
Detailed DescriptionЭтот класс представляет собой простой конвертер без состояния от UCS-4 и до UCS-4 для каждой отдельной точки кода. Этот класс используется для создания интерфейса std::codecvt для преобразования кодирования utf-16/utf-32 в кодирование, поддерживаемое этим преобразователем. Обратите внимание, что этот конвертер должен быть полностью без гражданства. Полностью без гражданства означает, что он никогда не должен предполагать, что он называется в каком-либо определенном порядке на тексте. Даже если само кодирование кажется безгосударственным, как окна 1255 или джи-переключения, некоторые кодеры (в первую очередь иконки) могут фактически составить несколько кодовых точек в одну или разложить их в случае обнаружения составных символов. Поэтому будьте очень осторожны при реализации этих преобразователей для определенного набора символов. Member Function Documentation
Создайте полиморфную копию этого объекта, обычно называемую только еслиis_thread_safe()Возвращение ложных
Преобразуйте одну кодовую точкуув кодировку и храните ее в диапазоне [начало, конец]. Если u является недействительной кодовой точкой Unicode или она не может быть правильно отображена в представленном наборе символов,незаконныйдолжен быть возвращен. Если u можно преобразовать в последовательность байтов c1, ..., cN (1<= N<=max_len()тогда
Возвращается верно, если вызов функций из_unicode, в_unicode и max_len безопасен. Правило большого пальца: если в реализации этого класса используются простые таблицы, которые неизменны или являются чисто алгоритмическими, как UTF-8, - так что он не делится каким-либо изменяемым битом для независимых вызовов to_unicode, от_unicode, вы можете установить его на истинность, в противном случае, например, если вы используете дескриптор iconv_t или UConverter в качестве объекта преобразования возвращают ложно, и этот объект будет клонирован для каждого использования.
Вернуть максимальную длину, в которую может быть преобразована одна кодовая точка Unicode, например, для UTF-8 она равна 4, для Shift-JIS она равна 2 и ISO-8859-1 равна 1.
Преобразуйте один символ, начинающийся с начала и заканчивающийся в конце, в кодовую точку Unicode. если действительная входная последовательность, найденная в [start,code_point_end], такая какstart<code_point_end&&code_point_end<=end, она преобразуется в ее Однозначный эквивалент точки кода,началоустанавливается накод_точка_конец Если неполная входная последовательность, найденная в [начать,конец, т.е. у меня есть такойкод_point_end, чтокод_point_end>конециначать,код_point_end) будет действительной входной последовательностью, тонеполныйвозвращается, начало остается неизменным, например для преобразования UTF-8 a *begin = 0xc2,начать+1 =конецявляется такой ситуацией. Если найдена недействительная входная последовательность, то есть существует последовательность [start,code_point_end), такая какcode_point_end<=end, которая является незаконной для этого кодирования,illegalвозвращается и начинает оставаться неизменной. Например, если * начинается = 0xFF и начинается< конец для UTF-8, тонезаконновозвращается. Member Data Documentation
Это значение должно быть возвращено, когда наблюдается незаконная последовательность ввода или кодовая точка: Например, если кодовая точка UCS-32 находится в диапазоне, зарезервированном для суррогатов UTF-16, или обнаружена недействительная последовательность UTF-8.
Это значение возвращается в следующих случаях: Была обнаружена неполная входная последовательность или был предоставлен недостаточный выходной буфер, поэтому полный выход не мог быть записан. The documentation for this class was generated from the following file:
Статья Boost.Locale: boost::locale::util::base_converter Class Reference раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |