Libchecker:checker ucs4 to utf8 str

From EjudgeWiki

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

Функция перекодирует строку из кодировки UCS-4 в кодировку UTF-8 с сохранением результата в заданном буфере.

const unsigned char *checker_ucs4_to_utf8_str(unsigned char *buf, size_t size, const int *in);

Параметр in — это входная строка в кодировке UCS-4. Параметр не может быть равен NULL. Входная строка должна завершаться символом с кодом 0. Параметр buf — это адрес начала буфера для результата перекодирования, а параметр size — его размер. Параметр buf не может быть равен NULL, а параметр size должен быть больше 0. В выходной буфер записывается максимум size - 1 байт, соответствующих символам входной строки. В конец перекодированной части строки всегда добавляется байт 0.

Если символ в кодировке UTF-8 занимает более одного байта, и в буфере осталось недостаточно места, перекодирование прекращается. Поэтому, даже если были перекодированы не все символы входной строки, в буфере buf могут быть записаны менее чем size -1 байтов, соответствующих символам входной строки.

Функция возвращает значение параметра buf.

См. также: checker_ucs4_to_utf8_size.