Skip to content

iconv

一.介绍

iconv 是 Linux/Unix 系统中用于字符编码转换的命令行工具。它可以在不同的字符编码之间转换文本文件,如 UTF-8、GBK、GB2312、ISO-8859-1 等。

二.语法

bash
iconv [选项] [-f 原编码] [-t 新编码] [输入文件] [-o 输出文件]

三.常用选项

  • -f <encoding>:指定源文件编码
  • -t <encoding>:指定目标文件编码
  • -o <file>:指定输出文件
  • -c:忽略无效的字符
  • -s:安静模式,不显示警告
  • -l:列出所有支持的编码

四.常见用法

1.列出所有支持的编码

bash
iconv -l

2.转换文件编码

bash
iconv -f GBK -t UTF-8 file.txt -o file_utf8.txt

3.直接转换并覆盖原文件

bash
iconv -f GBK -t UTF-8 file.txt -o file.txt.new && mv file.txt.new file.txt

4.转换整个目录下的文件

bash
for file in *.txt; do iconv -f GBK -t UTF-8 "$file" -o "${file%.txt}_utf8.txt"; done

5.忽略无效字符

bash
iconv -f GBK -t UTF-8 -c file.txt -o file_utf8.txt

五.常见编码说明

  • UTF-8:Unicode 编码,通用性强
  • GBK:中文简体编码
  • GB2312:简体中文编码
  • Big5:繁体中文编码
  • ISO-8859-1:西欧语言编码
  • ASCII:美式英语编码

六.总结

iconv 是处理字符编码转换的重要工具,在处理中文文件或跨平台文件传输时非常有用。