linux shell文件转码命令:iconv

29 篇文章 0 订阅

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在输入流中遇到一个不可用的字符。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小泉映月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值