Linux指令--iconv

iconv

iconv - 转换文件的编码方式

在了解这个指令之前,需要对文本编码有一定的认识;
这里我们只列举一些容易混乱的概念:
- 高字节、低字节:
一个16进制数有两个字节组成,例如:A9。
高字节就是指16进制数的前8位(权重高的8位),如上例中的A。
低字节就是指16进制数的后8位(权重低的8位),如上例中的9。
- 大端、小端:
大端big - Endian:数据的高字节保存在内存的低地址中
小端Little - Endian:数据的高字节保存在内存的高地址中

内存地址小端模式存放大端模式存放
0x400009A
0x40001A9

- 文档编码:
英文字母自由26个,汉字却有上万个,更何况还有特殊字符,其他语言文字。但电脑识别的只有二进制流,如何让每一个符号都对应一个确定的二进制流,这就需要一套合理的编码方式。这些编码方式说到底都是在高低字节,大小端,特定的bit位上,做特定的规定与安排,让电脑识别而已。各个国家、语言使用区,甚至同一个国家的不同领域都有自己的一套编码方式,想想如果两个地方的电脑混用,同一个文档,电脑却不认识对方编码方式,这就乱码了。
所以这时候就需要统一编码方式,或者iconv转化编码方式。

1.列举电脑支持的编码方式

oliver@ubuntu:~$ iconv -l
以下的列表包含所有已知的编码字符集,但这不代表所有的字符名称组合皆可用于
命令行的 "来源" 以及 "目的" 参数。一个编码字符集可以用几个不同的名称
来表示 (即 "别名")。

  437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
  866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
  8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,
  ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,
  ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5,
  BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5,

2.查询文档编码:
Vim打开文档 -> 输入 - :set fileencoding
3.文档编码方式装换
从GBK到UTF-8

iconv file1 -f GBK -t UTF-8 -o file2 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值