Linux 中的 iconv
命令是用来转换文本文件编码格式的工具。它可以将一个文本文件从一种字符集编码转换为另一种字符集编码。这个命令行工具和它背后的C库函数一起,提供了在不同国际编码之间进行内码转换的能力。
命令的基本格式:
iconv -f <源编码> -t <目标编码> [-s] [-c] [输入文件] [-o 输出文件]
参数说明:
-f
或--from-code
:指定输入文件的原始编码。-t
或--to-code
:指定要转换到的目标编码。-s
或--silent
:静默模式,忽略不合法字符(默认会输出警告)。-c
或--complain
:清除模式,删除不能被正确转换的字符。[输入文件]
:如果省略,则从标准输入读取数据。-o
或--output
:指定输出文件路径,如果不指定则输出到标准输出(屏幕)。
例如,将一个UTF-8编码的文件转换为GBK编码:
iconv -f UTF-8 -t GBK input.txt -o output.txt
该命令会创建一个新的输出文件 output.txt
,内容是 input.txt
文件经过编码转换后的GBK编码文本。
需要注意的是,并非所有可能的字符集都能相互转换,且某些字符在转换过程中可能会丢失或无法准确表示。此外,在使用前,请确保系统已安装了支持所需字符集的 iconv 版本。