OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man3 / iconv.3
index 4c6147b..0716c3e 100644 (file)
 .\" Translated 2000-07-11, Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
 .\" Updated 2008-09-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.09
 .\"
-.\"WORD:       conversion      ÊÑ´¹
-.\"WORD:       descriptor      ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼
-.\"WORD:       sequence        Ê¸»úÎó
+.\"WORD:       conversion      変換
+.\"WORD:       descriptor      ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼
+.\"WORD:       sequence        文字列
 .\"WORD:       
 .\"
 .TH ICONV 3 2008-09-08 "GNU" "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O iconv \- perform character set conversion
-iconv \- Ê¸»ú¥»¥Ã¥ÈÊÑ´¹¤ò¹Ô¤¦
+iconv \- 文字セット変換を行う
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <iconv.h>
 .sp
@@ -37,14 +37,14 @@ iconv \- ʸ
 .BI "             char **" outbuf ", size_t *" outbytesleft );
 .fi
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O The argument \fIcd\fP must be a conversion descriptor created using the
 .\"O function
 .\"O .BR iconv_open (3).
-°ú¤­¿ô \fIcd\fP ¤Ï¡¢´Ø¿ô
+引き数 \fIcd\fP は、関数
 .BR iconv_open (3)
-¤ò»È¤Ã¤ÆÀ¸À®¤µ¤ì¤ë
-ÊÑ´¹¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+を使って生成される
+変換ディスクリプターでなければならない。
 .PP
 .\"O The main case is when \fIinbuf\fP is not NULL and \fI*inbuf\fP is not NULL.
 .\"O In this case, the
@@ -53,16 +53,16 @@ iconv \- ʸ
 .\"O starting at \fI*inbuf\fP to a multibyte sequence starting at \fI*outbuf\fP.
 .\"O At most \fI*inbytesleft\fP bytes, starting at \fI*inbuf\fP, will be read.
 .\"O At most \fI*outbytesleft\fP bytes, starting at \fI*outbuf\fP, will be written.
-¼ç¤Ë»È¤ï¤ì¤ë¤Î¤Ï¡¢
-¡Ö\fIinbuf\fP ¤¬ NULL ¤Ç¤Ê¤¯¡¢¤«¤Ä \fI*inbuf\fP ¤¬ NULL ¤Ç¤Ê¤¤¡×
-¤È¤¤¤¦¾ì¹ç¤Ç¤¢¤ë¡£
-¤³¤Î¾ì¹ç¡¢
+主に使われるのは、
+「\fIinbuf\fP が NULL でなく、かつ \fI*inbuf\fP が NULL でない」
+という場合である。
+この場合、
 .BR iconv ()
-´Ø¿ô¤Ï¡¢
-\fI*inbuf\fP ¤Ç»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò
-\fI*outbuf\fP ¤Ç»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£
-\fI*inbuf\fP ¤òÀèƬ¤È¤·¤ÆºÇÂç \fI*inbytesleft\fP ¥Ð¥¤¥È¤¬Æɤ߹þ¤Þ¤ì¡¢
-\fI*outbuf\fP ¤òÀèƬ¤È¤·¤ÆºÇÂç \fI*outbytesleft\fP ¥Ð¥¤¥È¤¬½ñ¤­½Ð¤µ¤ì¤ë¡£
+関数は、
+\fI*inbuf\fP で始まるマルチバイト文字列を
+\fI*outbuf\fP で始まるマルチバイト文字列に変換する。
+\fI*inbuf\fP を先頭として最大 \fI*inbytesleft\fP バイトが読み込まれ、
+\fI*outbuf\fP を先頭として最大 \fI*outbytesleft\fP バイトが書き出される。
 .PP
 .\"O The
 .\"O .BR iconv ()
@@ -78,17 +78,17 @@ iconv \- ʸ
 .\"O such input is called a \fIshift sequence\fP.
 .\"O The conversion can stop for four reasons:
 .BR iconv ()
-´Ø¿ô¤Ï 1 Å٤ˠ1 ¤Ä¤Î¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤òÊÑ´¹¤¹¤ë¡£
-¤½¤·¤Æ¡¢³Æʸ»úÊÑ´¹Ëè¤Ë¡¢ÊÑ´¹¤µ¤ì¤¿ÆþÎϥХ¤¥È¤Î¿ô¤À¤±
-\fI*inbuf\fP ¤òÁý²Ã¤µ¤»¡¢\fI*inbytesleft\fP ¤ò¸º¾¯¤µ¤»¤ë¡£
-¤Þ¤¿¡¢ÊÑ´¹¤µ¤ì¤¿½ÐÎϥХ¤¥È¤Î¿ô¤À¤±
-\fI*outbuf\fP ¤òÁý²Ã¤µ¤»¡¢\fI*outbytesleft\fP ¤ò¸º¾¯¤µ¤»¤ë¡£
-¤µ¤é¤Ë¡¢\fIcd\fP ¤Ë´Þ¤Þ¤ì¤ëÊÑ´¹¾õÂÖ¤ò¹¹¿·¤¹¤ë¡£
-ÆþÎϤÎʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬¤¬¾õÂÖ¤ò»ý¤Ä¾ì¹ç¡¢
+関数は 1 度に 1 つのマルチバイト文字を変換する。
+そして、各文字変換毎に、変換された入力バイトの数だけ
+\fI*inbuf\fP を増加させ、\fI*inbytesleft\fP を減少させる。
+また、変換された出力バイトの数だけ
+\fI*outbuf\fP を増加させ、\fI*outbytesleft\fP を減少させる。
+さらに、\fIcd\fP に含まれる変換状態を更新する。
+入力の文字エンコーディングがが状態を持つ場合、
 .BR iconv ()
-´Ø¿ô¤ÏÆþÎϥХ¤¥È¤ÎÎó¤ËÂФ·¤ÆÊÑ´¹¤Ë¤âÂбþ¤·¤Æ¤ª¤ê¡¢
-¥Ð¥¤¥È½ÐÎϤòȼ¤ï¤º¤ËÊÑ´¹¾õÂÖ¤ò¹¹¿·¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-ÊÑ´¹¤Ï¡¢¼¡¤Î 4 ¤Ä¤Î¾ì¹ç¤ËÄä»ß¤¹¤ë¡£
+関数は入力バイトの列に対して変換にも対応しており、
+バイト出力を伴わずに変換状態を更新することができる。
+変換は、次の 4 つの場合に停止する。
 .PP
 .\"O 1. An invalid multibyte sequence is encountered in the input.
 .\"O In this case
@@ -96,11 +96,11 @@ iconv \- ʸ
 .\"O .IR (size_t)\ \-1 .
 .\"O \fI*inbuf\fP
 .\"O is left pointing to the beginning of the invalid multibyte sequence.
-1. ÆþÎϤË̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬤¢¤Ã¤¿¾ì¹ç¡£
-¤³¤Î¾ì¹ç¡¢´Ø¿ô¤Ï \fIerrno\fP ¤ò \fBEILSEQ\fP ¤ËÀßÄꤷ¡¢
+1. 入力に無効なマルチバイト文字列があった場合。
+この場合、関数は \fIerrno\fP を \fBEILSEQ\fP に設定し、
 .I (size_t)\ \-1
-¤òÊÖ¤¹¡£
-\fI*inbuf\fP ¤Ï¡¢Ìµ¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ÎÀèƬ¤ò»Ø¤·¤¿¤Þ¤Þ¤Ë¤Ê¤ë¡£
+を返す。
+\fI*inbuf\fP は、無効なマルチバイト文字列の先頭を指したままになる。
 .PP
 .\"O 2. The input byte sequence has been entirely converted,
 .\"O that is, \fI*inbytesleft\fP has gone down to 0.
@@ -108,10 +108,10 @@ iconv \- ʸ
 .\"O .BR iconv ()
 .\"O returns the number of
 .\"O nonreversible conversions performed during this call.
-2. ÆþÎϥХ¤¥Èʸ»úÎ󤬴°Á´¤ËÊÑ´¹¤µ¤ì¡¢\fI*inbytesleft\fP ¤¬ 0 ¤Ë¤Ê¤Ã¤¿¾ì¹ç¡£
-¤³¤Î¾ì¹ç¡¢
+2. 入力バイト文字列が完全に変換され、\fI*inbytesleft\fP が 0 になった場合。
+この場合、
 .BR iconv ()
-¤Ï¡¢¸Æ½Ð¤·¤Î´Ö¤ËÈó²ÄµÕÊÑ´¹¤¬¹Ô¤ï¤ì¤¿²ó¿ô¤òÊÖ¤¹¡£
+は、呼出しの間に非可逆変換が行われた回数を返す。
 .PP
 .\"O 3. An incomplete multibyte sequence is encountered in the input, and the
 .\"O input byte sequence terminates after it.
@@ -120,20 +120,20 @@ iconv \- ʸ
 .\"O .IR (size_t)\ \-1 .
 .\"O \fI*inbuf\fP is left pointing to the
 .\"O beginning of the incomplete multibyte sequence.
-3. ÆþÎϤËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬤¢¤ê¡¢
-ÆþÎϥХ¤¥Èʸ»úÎ󤬤½¤Î¸å¤Ç½ªÎ»¤·¤Æ¤¤¤ë¾ì¹ç¡£
-¤³¤Î¾ì¹ç¡¢´Ø¿ô¤Ï¡¢\fIerrno\fP ¤ò \fBEINVAL\fP ¤ËÀßÄꤷ¡¢
+3. 入力に不完全なマルチバイト文字列があり、
+入力バイト文字列がその後で終了している場合。
+この場合、関数は、\fIerrno\fP を \fBEINVAL\fP に設定し、
 .I (size_t)\ \-1
-¤òÊÖ¤¹¡£
-\fI*inbuf\fP ¤Ï¡¢ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ÎÀèƬ¤ò»Ø¤·¤¿¤Þ¤Þ¤Ë¤µ¤ì¤ë¡£
+を返す。
+\fI*inbuf\fP は、不完全なマルチバイト文字列の先頭を指したままにされる。
 .PP
 .\"O 4. The output buffer has no more room for the next converted character.
 .\"O In this case it sets \fIerrno\fP to \fBE2BIG\fP and returns
 .\"O .IR (size_t)\ \-1 .
-4. ½ÐÎϥХåե¡¡¼¤Ë¼¡¤ÎÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¤¿¤á¤Î¶õ¤­¤¬¤Ê¤¤¾ì¹ç¡£
-¤³¤Î¾ì¹ç¡¢\fIerrno\fP ¤¬ \fBE2BIG\fP ¤ËÀßÄꤵ¤ì¡¢
+4. 出力バッファーに次の変換された文字列のための空きがない場合。
+この場合、\fIerrno\fP が \fBE2BIG\fP に設定され、
 .I (size_t)\ \-1
-¤¬ÊÖ¤µ¤ì¤ë¡£
+が返される。
 .PP
 .\"O A different case is when \fIinbuf\fP is NULL or \fI*inbuf\fP is NULL, but
 .\"O \fIoutbuf\fP is not NULL and \fI*outbuf\fP is not NULL.
@@ -148,36 +148,36 @@ iconv \- ʸ
 .\"O Otherwise it increments
 .\"O \fI*outbuf\fP and decrements \fI*outbytesptr\fP by the number of bytes
 .\"O written.
-Ê̤Υ±¡¼¥¹¤È¤·¤Æ¤Ï¡¢
-¡Ö\fIinbuf\fP ¤¬ NULL¡¢¤Þ¤¿¤Ï \fI*inbuf\fP ¤¬ NULL ¤Ç¤¢¤ë¡£
-¤·¤«¤·¡¢\fIoutbuf\fP ¤¬ NULL ¤Ç¤Ê¤¯¡¢¤«¤Ä \fI*outbuf\fP ¤¬ NULL ¤Ç¤Ê¤¤¡×
-¤È¤¤¤¦¾ì¹ç¤¬¤¢¤ë¡£
-¤³¤Î¾ì¹ç¡¢
+別のケースとしては、
+「\fIinbuf\fP が NULL、または \fI*inbuf\fP が NULL である。
+しかし、\fIoutbuf\fP が NULL でなく、かつ \fI*outbuf\fP が NULL でない」
+という場合がある。
+この場合、
 .BR iconv ()
-´Ø¿ô¤Ï¡¢\fIcd\fP ¤ÎÊÑ´¹¾õÂÖ¤ò½é´ü¾õÂ֤ˤ·¤Æ¡¢
-Âбþ¤¹¤ë¥·¥Õ¥Èʸ»úÎó¤ò \fI*outbuf\fP ¤ËÊݸ¤·¤è¤¦¤È¤¹¤ë¡£
-ºÇÂç \fI*outbytesleft\fP ¥Ð¥¤¥È¤¬¡¢\fI*outbuf\fP ¤ò»Ï¤á¤È¤·¤Æ½ñ¤­½Ð¤µ¤ì¤ë¡£
-¤³¤Î¥ê¥»¥Ã¥È¤µ¤ì¤¿Ê¸»úÎó¤ËÂФ·¤Æ¡¢½ÐÎϥХåե¡¡¼¤Ë¶õ¤­¤¬¤Ê¤¤¾ì¹ç¡¢
-¤³¤Î´Ø¿ô¤Ï \fIerrno\fP ¤ò \fBE2BIG\fP ¤ËÀßÄꤷ¡¢
+関数は、\fIcd\fP の変換状態を初期状態にして、
+対応するシフト文字列を \fI*outbuf\fP に保存しようとする。
+最大 \fI*outbytesleft\fP バイトが、\fI*outbuf\fP を始めとして書き出される。
+このリセットされた文字列に対して、出力バッファーに空きがない場合、
+この関数は \fIerrno\fP を \fBE2BIG\fP に設定し、
 .I (size_t)\ \-1
-¤òÊÖ¤¹¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤³¤Î´Ø¿ô¤Ï¡¢½ñ¤­¹þ¤Þ¤ì¤¿¥Ð¥¤¥È¤Î¿ô¤À¤±
-\fI*outbuf\fP ¤òÁý²Ã¤µ¤»¡¢\fI*outbytesleft\fP ¤ò¸º¾¯¤µ¤»¤ë¡£
+を返す。
+それ以外の場合、この関数は、書き込まれたバイトの数だけ
+\fI*outbuf\fP を増加させ、\fI*outbytesleft\fP を減少させる。
 .PP
 .\"O A third state is when \fIinbuf\fP is NULL or \fI*inbuf\fP is NULL, and
 .\"O \fIoutbuf\fP is NULL or \fI*outbuf\fP is NULL.
 .\"O In this case, the
 .\"O .BR iconv ()
 .\"O function sets \fIcd\fP's conversion state to the initial state.
-3 ÈÖÌܤΥ±¡¼¥¹¤·¤Æ¤Ï¡¢
-¡Ö\fIinbuf\fP ¤¬ NULL¡¢¤Þ¤¿¤Ï \fI*inbuf\fP ¤¬ NULL ¤Ç¤¢¤ë¡£
-¤«¤Ä¡¢\fIoutbuf\fP ¤¬ NULL¡¢¤Þ¤¿¤Ï \fI*outbuf\fP ¤¬ NULL ¤Ç¤¢¤ë¡×
-¤È¤¤¤¦¾ì¹ç¤¬¤¢¤ë¡£
-¤³¤Î¾ì¹ç¡¢
+3 番目のケースしては、
+「\fIinbuf\fP が NULL、または \fI*inbuf\fP が NULL である。
+かつ、\fIoutbuf\fP が NULL、または \fI*outbuf\fP が NULL である」
+という場合がある。
+この場合、
 .BR iconv ()
-´Ø¿ô¤Ï¡¢\fIcd\fP ¤ÎÊÑ´¹¾õÂÖ¤ò½é´ü¾õÂ֤ˤ¹¤ë¡£
+関数は、\fIcd\fP の変換状態を初期状態にする。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O The
 .\"O .BR iconv ()
 .\"O function returns the number of characters converted in a
@@ -185,35 +185,35 @@ iconv \- ʸ
 .\"O In case of error, it sets \fIerrno\fP and returns
 .\"O .IR (size_t)\ \-1 .
 .BR iconv ()
-´Ø¿ô¤Ï¡¢¸Æ½Ð¤·¤Î´Ö¤ËÈó²ÄµÕ¤ÊÊýË¡¤ÇÊÑ´¹¤µ¤ì¤¿Ê¸»ú¿ô¤òÊÖ¤¹¡£
-¤Ä¤Þ¤ê¡¢²ÄµÕÊÑ´¹¤Ï¥«¥¦¥ó¥È¤µ¤ì¤Ê¤¤¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢¤³¤Î´Ø¿ô¤Ï \fIerrno\fP ¤òÀßÄꤷ¡¢
+関数は、呼出しの間に非可逆な方法で変換された文字数を返す。
+つまり、可逆変換はカウントされない。
+エラーの場合、この関数は \fIerrno\fP を設定し、
 .I (size_t)\ \-1
-¤òÊÖ¤¹¡£
+を返す。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .\"O The following errors can occur, among others:
-¾¤Î¤¤¤í¤¤¤í¤Ê¥¨¥é¡¼¤Î¤¦¤Á¤«¤é¡¢°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ê¤¦¤ë¡£
+他のいろいろなエラーのうちから、以下のエラーが起こりうる。
 .TP
 .B E2BIG
 .\"O There is not sufficient room at \fI*outbuf\fP.
-\fI*outbuf\fP ¤Ë½½Ê¬¤Ê¶õ¤­¤¬¤Ê¤¤¡£
+\fI*outbuf\fP に十分な空きがない。
 .TP
 .B EILSEQ
 .\"O An invalid multibyte sequence has been encountered in the input.
-ÆþÎϤË̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬤¢¤Ã¤¿¡£
+入力に無効なマルチバイト文字列があった。
 .TP
 .B EINVAL
 .\"O An incomplete multibyte sequence has been encountered in the input.
-ÆþÎϤËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬤¢¤Ã¤¿¡£
+入力に不完全なマルチバイト文字列があった。
 .\"O .SH VERSIONS
-.SH ¥Ð¡¼¥¸¥ç¥ó
+.SH バージョン
 .\"O This function is available in glibc since version 2.1.
-¤³¤Î´Ø¿ô¤Ï¥Ð¡¼¥¸¥ç¥ó 2.1 °Ê¹ß¤Î glibc ¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¡£
+この関数はバージョン 2.1 以降の glibc で利用可能である。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 POSIX.1-2001.
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR iconv_close (3),
 .BR iconv_open (3)