.\" Copyright (c) Bruno Haible .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html .\" .TH ICONV_OPEN 3 "May 6, 2001" "GNU" "Linux Programmer's Manual" .SH NAME iconv_open \- 分配一個字符集轉換的描述符 .SH "總覽 (SYNOPSIS)" .nf .B #include .sp .BI "iconv_t iconv_open (const char* " tocode ", const char* " fromcode ); .fi .SH "描述 (DESCRIPTION)" \fBiconv_open\fP 函數 分配 一個 用於 把 \fIfromcode\fP 編碼的 字符串 轉換成 \fItocode\fP 編碼 的 轉換 描述符. .PP \fIfromcode\fP 和 \fItocode\fP 所允許的值 以及 支持的 組合方式 都是 與 系統 相關的. 對於 這個 libiconv 庫, 它 支持 下面 的 編碼, 也 支持 其 所有 的 組合. .TP 歐洲語言 ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866}, Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh .TP 閃米特語言 ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic} .TP 日文 EUC-JP, SHIFT-JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1 .TP 中文 EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT .TP 韓文 EUC-KR, CP949, ISO-2022-KR, JOHAB .TP Armenian ARMSCII-8 .TP Georgian Georgian-Academy, Georgian-PS .TP 泰語 TIS-620, CP874, MacThai .TP 撈撾語 MuleLao-1, CP1133 .TP 越南語 VISCII, TCVN, CP1258 .TP 特定平台 HP-ROMAN8, NEXTSTEP .TP Full Unicode .nf UTF-8 UCS-2, UCS-2BE, UCS-2LE UCS-4, UCS-4BE, UCS-4LE UTF-16, UTF-16BE, UTF-16LE UTF-32, UTF-32BE, UTF-32LE UTF-7 JAVA .fi .TP 用 \fBuint16_t\fP 或 \fBuint32_t\fP 表示的 Unicode (其 字節順序 和 對齊方式 與 具體 機器 有關) UCS-2-INTERNAL, UCS-4-INTERNAL .TP 用 \fBchar\fP 或 \fBwchar_t\fP 表示的 與 區域設置 相關的 編碼 (其 字節順序 和 對齊方式 與 具體 機器 有關, 其 語意 與 作業系統 和 當前 區域設置 中的 LC_CTYPE 有關) char, wchar_t .PP 在 \fItocode\fP 後面 加上 "//TRANSLIT" 表示, 當 在目標 字符集 中 不能 表示 一個 字符 時, 就用 同其 相似 的 一個 字符 來 代替. .PP 其 返回的 轉換 描述符 可以 被 \fBiconv\fP 多次 使用. 只要 沒有 用 \fBiconv_close\fP 將其 釋放, 它 就是 有效的. .PP 轉換 描述符 包含了 轉換的 狀態. 在用 \fBiconv_open\fP 建立 一個 描述符 時 狀態為 初始態. \fBiconv\fP 會 改變 它的 狀態. (這說明 一個 描述符 不能在 多線程中 同時 使用.) 可以 把 NULL 作為 \fIinbuf\fP 傳給 \fBiconv\fP 來 使其 回到 初始態. .SH "返回值 (RETURN VALUE)" \fBiconv_open\fP 函數 返回 一個 新的 轉換 描述符. 如果 發生 錯誤 則 設置 \fBerrno\fP 變量 同時 返回 (iconv_t)(-1). .SH "錯誤 (ERRORS)" 除了 一般的 錯誤, 還可能 有 下面的 錯誤: .TP .B EINVAL 此系統 不支持 從 \fIfromcode\fP 到 \fItocode\fP 的 轉換. .SH "遵循 (CONFORMING TO)" UNIX98 .SH "參見 (SEE ALSO)" .BR iconv "(3), " iconv_close (3) .SH "[中文版維護人]" .B 唐友 \ .SH "[中文版最新更新]" .BR 2002/3/21 .SH "[中國Linux論壇man手冊頁翻譯計劃]" .BI http://cmpp.linuxforum.net