iconv_open -
分配一個字符集轉換的描述符
#include <iconv.h>
iconv_t iconv_open (const char* tocode, const char* fromcode);
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 來 使其 回到
初始態.
iconv_open 函式 返回 一個
新的 轉換 描述符. 如果
發生 錯誤 則 設定
errno
變數 同時 返回 (iconv_t)(-1).
除了 一般的 錯誤,
還可能 有 下面的 錯誤:
- EINVAL
- 此係統 不支援 從
fromcode 到 tocode 的 轉換.
UNIX98
iconv(3),
iconv_close(3)
唐友 <[email protected]>
2002/3/21
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh