Linux 中的 iconv 命令和示例
iconv命令用于将某种编码的某些文本转换为另一种编码。如果没有提供输入文件,则它从标准输入中读取。同样,如果没有给出输出文件,则它会写入标准输出。如果未提供from-encoding或to-encoding ,则它使用当前本地的字符编码。
句法:
iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]...
选项:
- -f from-encoding, –from-code=from-encoding : 对输入字符使用 from-encoding 。
- -t to-encoding, –to-code=to-encoding : 使用 to-encoding 输出字符。
- -l, –list :列出所有已知的字符集编码。
- -c :在遇到此类字符时,静默丢弃无法转换的字符,而不是终止。
- -o outputfile, –output=outputfile : 使用 outputfile 进行输出。
- –verbose :在处理多个文件时打印标准错误的进度信息。
笔记:
- 如果字符串//IGNORE附加到 to-encoding,则无法转换的字符将被丢弃并在转换后打印错误。
- 如果字符串// TRANSLIT被附加到以编码,即不能在目标字符集表示的字符,它可以通过一个或几个外观类似的字符近似。
例子:
- 要从 UTF-8 转换为 ASCII :
echo abc ß ? € à?ç | iconv -f UTF-8 -t ASCII//TRANSLIT
- 打印所有字符集编码的列表:
iconv -l
- 从文件读取和写入:
iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt