linux shell文件转码iconv命令的使用

2022-07-14,,,,

例子

文件中读写:

iconv -f utf-8 -t ascii//translit -o out.txt in.txt
iconv -f sjis -t utf-8 infile > outfile

搜索了谷歌,发现了如下信息:

iconv -f us-ascii -t utf-8 infile > outfile

ascii是utf-8的子集,所以所有的ascii文件都是utf-8编码的。ascii文件中的字节和“将其编码为utf-8”所产生的字节将是完全相同的字节。它们之间没有区别。

tims-macbook-pro:~ tjohns$ echo 'stuff' > deleteme
tims-macbook-pro:~ tjohns$ cat deleteme
stuff
tims-macbook-pro:~ tjohns$ file -i deleteme
deleteme: text/plain; charset=us-ascii
tims-macbook-pro:~ tjohns$ echo -ne '\xef\xbb\xbf' > deleteme
tims-macbook-pro:~ tjohns$ echo 'stuff' >> deleteme
tims-macbook-pro:~ tjohns$ cat deleteme
stuff
tims-macbook-pro:~ tjohns$ file -i deleteme
deleteme: text/plain; charset=utf-8

打印所有字符集编码的列表:

iconv -l

目的

将字符的编码从一个编码页编码方案转换为另一个编码页编码方案。

语法

iconv [-cs] -f fromcode -t tocode [ filename… ]
iconv -l

描述

iconv命令将从标准输入或指定文件读取的字符编码从一个编码字符集转换为另一个编码字符集,然后将结果写入标准输出。输入和输出编码的字符集由fromcode和tocode参数标识。输入数据应该由fromcode参数指定的代码集中的字符组成。如果在命令行上没有指定filename参数,则iconv命令从标准输入读取。

该命令可通过smit smit iconv快速路径执行。iconv命令使用locpath环境变量来搜索格式为iconv/fromcodeset_tocodeset的代码集转换器。“locpath”的默认值为“/usr/lib/ nlls /loc”。

flags

项目 描述
-c 从输出中省略输入文件中不能转换的字符。不能被转换的字符包括在输入的fromcode中无效的字符,或者在输出的tocode中没有对应的字符。省略不可转换字符后,iconv向前移动到输入的下一个字节以转换下一个字符。如果-c未被使用,则iconv在遇到输入中不能转换的字符时退出。-c的存在或不存在并不影响iconv的退出状态。
-f fromcode 指定用于对输入数据进行编码的代码集。-f标志和fromcode参数之间的空格是可选的。
-l 将所有支持的fromcode和tocode值写入标准输出。
-s 禁止向标准错误写入与无效字符有关的任何消息。当不使用-s时,每个不可转换或被截断的字符都会被写入标准错误。是否使用-s并不影响iconv的退出状态。
-t tocode 指定要将输出数据转换为的代码集。-t标志和tocode参数之间的空格是可选的。
filename 指定要转换的文件。

退出状态

该命令返回以下退出值:

项目 描述
0 成功转换输入数据。
1 不支持指定的转换;给定的输入文件不能被打开读取;或者存在用法语法错误。
2 在输入流中遇到一个不可用的字符。

 到此这篇关于linux shell文件转码iconv命令的使用的文章就介绍到这了,更多相关shell iconv命令内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

《linux shell文件转码iconv命令的使用.doc》

下载本文的Word格式文档,以方便收藏与打印。