Manpages

名 前

iconv_open − 文 字 セ ッ ト 変 換 の た め の デ ィ ス ク リ プ タ ー を 割 り 当 て る

書 式

#include <iconv.h>

iconv_t iconv_open(const char *tocode, const char *fromcode);

説 明

iconv_open() 関 数 は 、 文 字 エ ン コ ー デ ィ ン グ fromcode か ら 文 字 エ ン コ ー デ ィ ン グ tocode へ の バ イ ト 文 字 列 変 換 に 適 し た 変 換 デ ィ ス ク リ プ タ ー を 割 り 当 て る 。

fromcodetocode に 使 う こ と の で き る 値 と 、 サ ポ ー ト さ れ る 組 み 合 わ せ は 、 シ ス テ ム に 依 存 す る 。 GNU C ラ イ ブ ラ リ で は 、 使 う こ と の で き る 値 は iconv −−list コ マ ン ド で リ ス ト さ れ 、 リ ス ト さ れ た す べ て の 値 の 組 み 合 わ せ が サ ポ ー ト さ れ る 。 さ ら に 、 GNU C ラ イ ブ ラ リ と GNU libiconv ラ イ ブ ラ リ で は 、 以 下 の 接 尾 辞 が サ ポ ー ト さ れ て い る 。
//TRANSLIT

tocode の 後 ろ に 文 字 列 "//TRANSLIT" が 付 い て い る 場 合 、 翻 訳 (transliteration) が 有 効 に な る 。 こ の 場 合 、 変 換 先 の 文 字 セ ッ ト で 表 現 で き な い 文 字 を 、 そ の 文 字 と 同 じ よ う に 見 え る 文 字 (複 数 文 字 の 場 合 も あ る ) で 表 現 す る こ と が で き る 。

//IGNORE

tocode の 後 ろ に 文 字 列 "//IGNORE" が 付 い て い る 場 合 、 変 換 先 の 文 字 セ ッ ト で 表 現 で き な い 文 字 は 黙 っ て 無 視 さ れ る 。 こ の 関 数 を 読 ん で 得 ら れ た 変 換 デ ィ ス ク リ プ タ ー は 、 iconv(3) で 何 度 で も 使 う こ と が で き る 。 こ れ は iconv_close(3) を 使 っ て 解 放 さ れ る ま で 有 効 で あ る 。 変 換 デ ィ ス ク リ プ タ ー は 変 換 状 態 を 持 つ 。 iconv_open() を 用 い て 生 成 さ れ た 後 、 変 換 状 態 は 初 期 状 態 で あ る 。 iconv(3) を 使 う こ と に よ り 、 デ ィ ス ク リ プ タ ー の 変 換 状 態 が 変 更 さ れ る 。 (変 換 デ ィ ス ク リ プ タ ー は マ ル チ ス レ ッ ド で 同 時 に 使 う こ と が で き な い こ と を 意 味 し て い る 。 ) 変 換 状 態 を 初 期 状 態 に 戻 す に は 、 inbuf 引 き 数 を NULL と し て iconv(3) を 用 い る こ と 。

返 り 値

iconv_open() 関 数 は 、 新 た に 割 り 当 て ら れ た 変 換 デ ィ ス ク リ プ タ ー を 返 す 。 エ ラ ー の 場 合 、 こ の 関 数 は errno を 設 定 し 、 (iconv_t) −1 を 返 す 。

エ ラ ー

他 の い ろ い ろ な エ ラ ー の う ち 、 以 下 の エ ラ ー が 起 こ り う る 。

EINVAL

fromcode か ら tocode へ の 変 換 は 、 こ の 実 装 で は サ ポ ー ト さ れ て い な い 。

バ ー ジ ョ ン

こ の 関 数 は バ ー ジ ョ ン 2.1 以 降 の glibc で 利 用 可 能 で あ る 。

準 拠

UNIX98, POSIX.1−2001.

関 連 項 目

iconv(1), iconv(3), iconv_close(3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。