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 的 转换.
UNIX98
参见 (SEE ALSO)¶
iconv(3),
iconv_close(3)
[中文版维护人]¶
唐友 <tony_ty@263.net>
[中文版最新更新]¶
2002/3/21
[中国Linux论坛man手册页翻译计划]¶
http://cmpp.linuxforum.net