简要介绍一下UTF-8编码和GBK编码------并利用linux中的iconv命令来实现UTF-8和GBK之间的相互转换

       曾经的某个版本一发布, 外网一片乱码可怜, 虽然最后影响不是很大, 但至今仍然记忆犹新, 这就是我们今天要说的UTF-8编码和GBK编码, 不容忽视哦!

 

       在涉及编码格式时, 强烈建议使用UTF-8, 更具有普遍性和通用性。 对于一个汉字而言, UTF-8是三个字节, 而GBK是两个字节。

       我们来看看UTF-8编码, “我”的16进制是:E68891 (从UltraEdit中可看), 我们从在线工具上查查:http://www.mytju.com/classcode/tools/encode_utf8.asp

       

       可以看到编码的16进制是E68891,  与ultraEdit中看到的是一致。 

 

       奇怪了, 6211是什么呢? 阮一峰老师之前讲的, UTF-8是unicode的一种实现, 这下明白了吧。 “我”的unicode编码是6211,  而unicode编码又有多种实现, UTF-8就是其中一种实现, “我”的UTF-8编码为E68891 

       这样就清楚多了。

 

        那GBK呢? 它是另一套编码系统, 和UTF-8没有毛关系, 但可以相互转换。 我们来看看:

       

        最后再来看一个问题, notepad++和UltraEdit都能实现gbk和UTF-8间的转换, 那么在linux下怎么玩呢?   我们看下a.txt文件(UTF-8),其中有“我”:

 

taoge@localhost Desktop> xxd a.txt
0000000: e688 91                                  ...
taoge@localhost Desktop> iconv -f utf-8 -t gbk a.txt > b.txt
taoge@localhost Desktop> xxd b.txt
0000000: ced2                                     ..
taoge@localhost Desktop> iconv -f gbk -t utf-8 b.txt > c.txt
taoge@localhost Desktop> xxd c.txt
0000000: e688 91                                  ...
taoge@localhost Desktop> 

       

 

       至此, 应该恍然大悟了吧!

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值