Libchecker:Перекодирование текстовых данных

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Функции/Перекодирование текстовых данных

Если в задаче требуется вывести текст на русском языке, при проверке вывода возникает проблема множественности кириллических кодировок. В зависимости от операционной системы, ее настроек или среды программирования, в которой подготовленна программа, русский текст может быть представлен в одной из следующих кодировок: KOI8-R, CP1251, CP866, ISO, MAC, UTF-8.

В качестве внутренней кодировки при обработке кириллических данных в библиотеке libchecker используется кодировка UCS-4, в которой на один символ отводится 4 байта. Библиотека предоставляет функции перекодирования данных в кодировку UCS-4 и обработки.

checker_koi8r_to_ucs4 перекодировать один символ из кодировки KOI8-R в кодировку UCS-4
checker_cp866_to_ucs4 перекодировать один символ из кодировки CP866 в кодировку UCS-4
checker_cp1251_to_ucs4 перекодировать один символ из кодировки CP1251 в кодировку UCS-4
checker_koi8r_to_ucs4_buf перекодировать буфер заданного размера из кодировки KOI8-R в кодировку UCS-4
checker_cp866_to_ucs4_buf перекодировать буфер заданного размера из кодировки CP866 в кодировку UCS-4
checker_cp1251_to_ucs4_buf перекодировать буфер заданного размера из кодировки CP1251 в кодировку UCS-4
checker_koi8r_to_ucs4_str перекодировать строку из кодировки KOI8-R в кодировку UCS-4
checker_cp866_to_ucs4_str перекодировать строку из кодировки CP866 в кодировку UCS-4
checker_cp1251_to_ucs4_str перекодировать строку из кодировки CP1251 в кодировку UCS-4
checker_utf8_to_ucs4_buf перекодировать буфер заданного размера из кодировки UTF-8 в кодировку UCS-4
checker_utf8_to_ucs4_str перекодировать строку из кодировки UTF-8 в кодировку UCS-4
checker_ucs4_to_koi8r перекодировать один символ из кодировки UCS-4 в кодировку KOI8-R
checker_ucs4_to_koi8r_str перекодировать строку из кодировки UCS-4 в кодировку KOI8-R
checker_ucs4_to_utf8_size рассчитать число байт необходимых для кодирования заданной UCS-4 строки в кодировку UTF-8
checker_ucs4_to_utf8_str перекодировать строку из кодировки UCS-4 в кодировку UTF-8
checker_ucs4_tolower перевести символ в кодировке UCS-4 в нижний регистр
checker_ucs4_tolower_buf перевести буфер заданного размера в кодировке UCS-4 в нижний регистр
checker_ucs4_tolower_str перевести строку в кодировке UCS-4 в нижний регистр
checker_strcmp_ucs4 сравнить две UCS-4 строки
checker_eq_str_rus_ucs4 проверить совпадение строки в одной из поддерживаемых кириллических кодировок со строкой в кодировке UCS-4
checker_eq_str_rus_ucs4_nocase проверить совпадение строки в одной из поддерживаемых кириллических кодировок со строкой в кодировке UCS-4 без учета регистра букв
checker_is_utf8_locale проверить, что проверяющая программа работает в UTF-8 локали