iconv用法收集

  • Post author:
  • Post category:其他




iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。

例如:从GB2312转换为UTF-8。

用法: iconv [选项…] [文件…]

Convert encoding of given files from one encoding to another.

输入/输出格式规范:

-f, –from-code=NAME       原始文本编码

-t, –to-code=NAME         输出编码

信息:

-l, –list                 列举所有已知的字符集

输出控制:

-c                         从输出中忽略无效的字符

-o, –output=FILE          输出文件

-s, –silent               suppress warnings

–verbose              打印进度信息

-?, –help                 给出该系统求助列表

–usage                给出简要的用法信息

-V, –version              打印程序版本号

Mandatory or optional arguments to long options are also mandatory or optional

for any corresponding short options.

用“glibcbug”脚本将错误报告给 <bugs@gnu.org>。

指令:

#iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt 将gb1里的编码从GB2312转化成UTF-8  并重定向到gb2.txt




在linux下其实也可以完成这样的工作

这个命令就是iconv

例如要将一个编码格式是GB2312的文本文件foo.txt转成BIG5的内码可以用

iconv -f GB2312 -t BIG5 foo.txt > foo1.txt

这样新的文件foo1.txt就是BIG5内码的了

将内码是BIG5的文件foo.txt转成GB2312的内码用

iconv -f BIG5 -t GB2312 foo.txt >foo2.txt

将GB2312内码文件转成UTF-8

iconv -f GB2312 -t UTF-8 foo.txt >foo3.txt

最后是批量转换,将一个目录下所有的文件转换成我们需要的内码

假设当前目录下有foo1.txt foo2.txt foo3.txt…. foon.txt都是GB2312内码

将他们全部专程BIG5内码,并在后面加上BIG5作为后缀

创建一个脚本gb2312_2_big5.sh,内容如下

ls *.txt |while read i

do iconv -f GB2312 -t BIG5 $i>$i.big5

done

保存之后执行

sh gb2312_2_big5.sh

即可完成转换

转载于:https://blog.51cto.com/init7/182003


关闭菜单