ICONV_OPEN(3) | Руководство программиста Linux | ICONV_OPEN(3) |
ИМЯ¶
iconv_open - создаёт дескриптор преобразования кодировки набора символов
СИНТАКСИС¶
#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.
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | GNU |