温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux shell文件转码iconv命令如何使用

发布时间:2022-06-09 13:41:28 来源:亿速云 阅读:226 作者:iii 栏目:开发技术

这篇文章主要讲解了“linux shell文件转码iconv命令如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux shell文件转码iconv命令如何使用”吧!

例子

从文件中读写:

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命令如何使用”的内容了,经过本文的学习后,相信大家对linux shell文件转码iconv命令如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI