手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

iconv(1)

名称

iconv - 代码集转换实用程序

用法概要

iconv [-cs] -f frommap -t tomap [file]...
iconv -f fromcode [-cs] [-t tocode] [file]...
iconv -t tocode [-cs] [-f fromcode] [file]...
iconv -l

描述

iconv 实用程序将 file 中的字符或字符序列从一种代码集转换为另一种代码集,并将结果写入到标准输出。如果不存在针对某个特定字符的转换,则会为此字符执行由实现定义的转换。

iconv(5) 手册页中提供了支持的转换的列表以及关联的转换表的位置。

选项

支持以下选项:

–c

输出时忽略在输入文件的代码集中无效的字符。未使用 –c 时,如果在输入流中遇到了无效字符,则结果取决于转换时使用的指定代码集。无效字符可能是在输入文件的代码集中无效的字符,也可能是在输出文件的代码集中没有对应字符的字符。–c 存在与否不影响 iconv 的退出状态。为 –f 选项的 fromcodeset 指定了 fromcode 时,或者为 –t 选项的 tocodeset 指定了 tocode 时,可以省略 –c 的指定。

–f fromcodeset

标识输入文件的代码集。可以识别以下两种形式的 fromcodeset 选项参数:

fromcode

fromcode 选项参数不得包含斜杠 (/) 字符。它被解释为用来描述某个代码集的名称。

frommap

frommap 选项参数必须包含一个斜杠字符。它被解释为 charmap(5) 中定义的字符映射文件的路径名。如果路径名所表示的不是有效的可读取的字符映射文件,则会产生不确定的结果。

如果省略了此选项,则会使用当前语言环境的代码集。

–l

将所有受支持的 fromcodetocode 值写入到标准输出。

–s

抑制写入到标准错误的有关无效字符的任何消息。未使用 –s 时,如果在输入流中遇到了无效字符,则结果取决于转换时使用的指定代码集。无效字符可能是在输入文件的代码集中无效的字符,也可能是在输出文件的代码集中没有对应字符的字符。–s 存在与否不影响 iconv 的退出状态。为 –f 选项的 fromcodeset 指定了 fromcode 时,或者为 –t 选项的 tocodeset 指定了 tocode 时,可以省略 –s 的指定。

–t tocodeset

标识输出文件使用的代码集。可以识别以下两种形式的 tocodeset 选项参数:

tocode

tocode 选项参数不得包含斜杠 (/) 字符。它被解释为用来描述某个代码集的名称。

tomap

tomap 选项参数必须包含一个斜杠字符。它被解释为 charmap(5) 中定义的字符映射文件的路径名。如果路径名所表示的不是有效的可读取的字符映射文件,则会产生不确定的结果。

如果省略了此选项,则会使用当前语言环境的代码集。

如果 –f–t 中有一个表示的是字符映射文件,但另一个不是,或者 –f–t 有一个或者全部被省略,则 iconv 将失败并产生错误。

操作数

支持下列操作数:

file

输入文件的路径名称。如果未指定 file 操作数,或者文件操作数为 "-",则将使用标准输入。

示例

示例 1 转换并存储文件

以下示例将文件 mail1 的内容从代码集 8859 转换为 646fr,并将结果存储到文件 mail.local 中:

example% iconv -f 8859 -t 646fr mail1 > mail.local

环境变量

有关影响 iconv 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

文件

/usr/lib/iconv/iconv_data

转换表支持的转换的列表

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

iconv(3C)iconv_open(3C)attributes(5)charmap(5)environ(5)iconv(5)iconv_unicode(5)standards(5)

附注

确保两个字符映射文件为两个字符集中共有的字符使用相同的符号名称。

–l 选项的输出格式未指定。–l 选项不适用于 shell 脚本用途。

为代码集转换指定了 fromcodetocode 时,iconv 会使用 iconv_open(3C) 函数。如果 iconv_open(3C) 未能打开指定的代码集转换,则 iconv 将搜索合适的转换表。有关 iconv_open(3C) 支持的代码集转换,请参考 iconv(5)iconv_locale(5)。