ICONV_OPEN(3)

NAME
iconv_open - 分配一個字元集轉換的描述符

總覽 (SYNOPSIS)
#include <iconv.h>

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

描述 (DESCRIPTION)
iconv_open 函式 分配 一個 用於 把 fromcode 編碼的 字串 轉換成 tocode 編碼 的 轉換 描述符.

fromcode 和 tocode 所允許的值 以及 支援的 組合方式 都是 與 系統 相關的. 對於 這個 libiconv 庫, 它 支援 下面 的 編碼, 也 支援 其 所有 的 組合.

歐洲語言
    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

閃米特語言
    ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}

日文  EUC-JP, SHIFT-JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1

中文  EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT

韓文  EUC-KR, CP949, ISO-2022-KR, JOHAB

Armenian
    ARMSCII-8

Georgian
    Georgian-Academy, Georgian-PS

泰語  TIS-620, CP874, MacThai

撈撾語 MuleLao-1, CP1133

越南語 VISCII, TCVN, CP1258

特定平臺
    HP-ROMAN8, NEXTSTEP

Full Unicode
    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

用 uint16_t 或 uint32_t 表示的 Unicode
    (其 位元組順序 和 對齊方式 與 具體 機器 有關) UCS-2-INTERNAL, UCS-4-INTERNAL

用 char 或 wchar_t 表示的 與 區域設定 相關的 編碼
    (其 位元組順序 和 對齊方式 與 具體 機器 有關, 其 語意 與 作業系統 和 當前 區域設定 中的 LC_CTYPE 有關) char, wchar_t

在 tocode 後面 加上 "//TRANSLIT" 表示, 當 在目標 字元集 中 不能 表示 一個 字元 時, 就用 同其 相似 的 一個 字元 來 代替.

其 返回的 轉換 描述符 可以 被 iconv 多次 使用. 只要 沒有 用 iconv_close 將其 釋放, 它 就是 有效的.

轉換 描述符 包含了 轉換的 狀態. 在用 iconv_open 建立 一個 描述符 時 狀態為 初始態. iconv 會 改變 它的 狀態. (這說明 一個 描述符 不能在 多執行緒中 同時 使用.) 可以 把 NULL 作為 inbuf 傳給 iconv 來 使其 回到 初始態.

返回值 (RETURN VALUE)
iconv_open 函式 返回 一個 新的 轉換 描述符. 如果 發生 錯誤 則 設定 errno 變數 同時 返回 (iconv_t)(-1).

錯誤 (ERRORS)
除了 一般的 錯誤, 還可能 有 下面的 錯誤:

EINVAL
    此係統 不支援 從 fromcode 到 tocode 的 轉換.

遵循 (CONFORMING TO)
UNIX98

參見 (SEE ALSO)
iconv(3), iconv_close(3)

[中文版維護人]
唐友 <tony_ty@263.net>

[中文版最新更新]
2002/3/21

[中國Linux論壇man手冊頁翻譯計劃]
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh