iconv_open - создаёт дескриптор преобразования кодировки набора символов
iconv_open(3)
создаёт дескриптор преобразования кодировки набора символов
ОБЗОР
#include <iconv.h>
iconv_t iconv_open(const char *tocode, const char *fromcode);
ОПИСАНИЕ
Функция
iconv_open() создаёт дескриптор, предназначенный для
преобразования последовательности байтов с кодировкой
fromcode в
кодировку
tocode.
Значения, допустимые для кодировок fromcode и tocode, и поддерживаемые
комбинации, зависят от операционной системы. Для библиотеки GNU C
разрешённые значения выводятся по команде iconv --list, а также
поддерживаются все комбинации перечисленных значений. Кроме этого,
библиотеки GNU C и GNU libiconv поддерживают два следующих суффикса:
//TRANSLIT
Если к
tocode добавлена строка «//TRANSLIT», то включается
транслитерация. Это означает, что когда символ не может быть представлен в
целевом наборе символов, то он аппроксимируется одним или несколькими
похожими символами.
//IGNORE
Если к
tocode добавлена строка «//IGNORE», то символы, которые не могут
быть представлены в целевом наборе символов, будут просто отбрасываться.
Полученный дескриптор преобразования может использоваться функцией
iconv(3) любое количество раз. Он остается неизменным до тех пор, пока не
будет освобождён функцией iconv_close(3).
Дескриптор преобразования содержит состояние перекодировки После создания с
помощью функции iconv_open(), состояние равно начальному
значению. Использование iconv(3) меняет состояние преобразования. Чтобы
вернуть состояние в начальное значение, необходимо использовать функцию
iconv(3) с параметром inbuf, равным NULL.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении функция
iconv_open() возвращает созданный
дескриптор преобразования. В случае ошибки меняется значение переменной
errno и возвращается
(iconv_t) -1.
ОШИБКИ
Среди прочих, может возникнуть следующая ошибка:
EINVAL
Преобразование из кодировки fromcode в tocode не поддерживается в
данной реализации.
ВЕРСИИ
Эта функция доступна в glibc начиная с версии 2.1.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
iconv_open()
безвредность в потоках: безвредно (MT-Safe locale)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, SUSv2.