新闻动态

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

发布日期:2022-07-20 19:36 | 文章来源:源码中国

例子

从文件中读写:

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命令内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

美国服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部