首页·终端命令

iconv

文本处理

用法

iconv -f [from] -t [to] [file]

把文本从一种字符编码转成另一种;遇到无法映射的字节就停下,除非加 -c,而且它不会替你猜输入编码。

常用选项

选项含义
-fThe encoding the input is in
-tThe encoding you want out
-lList every encoding name this build knows
-cDrop the characters that cannot be converted
//TRANSLITGNU: append to the target to swap unmappable letters for lookalikes

示例

iconv -f EUC-KR -t UTF-8 old.csv > new.csv

Fixes a legacy Korean CSV.

iconv -f UTF-8 -t ASCII//TRANSLIT text.txt

Turns accented letters into plain ones (GNU).

iconv -l | grep -i 1252

Checks that an encoding name is spelled right.

它们本来就是用管道串起来用的。串三条往往比让一条命令做完所有事更短。

怎么看

  • 方括号 [ ] 表示这部分可以不写。
  • 省略号 … 表示可以写多个。
  • 选项区分大小写——有些命令里 -r 和 -R 不是一回事。

常见问题

Q. iconv 是做什么的?

把文本从一种字符编码转成另一种;遇到无法映射的字节就停下,除非加 -c,而且它不会替你猜输入编码。

Q. 怎么写?

iconv -f [from] -t [to] [file] —— 方括号表示可以省略的部分。

Q. 值得记的选项有几个?

这里列了 5 个,完整列表在 man iconv。这条命令属于文本处理。

相关命令

man 手册: man iconv