简要介绍一下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.txt0000000: e688 91                                  ...taoge@localhost Desktop> iconv -f utf-8 -t gbk a.txt > b.txttaoge@localhost Desktop> xxd b.txt0000000: ced2                                     ..taoge@localhost Desktop> iconv -f gbk -t utf-8 b.txt > c.txttaoge@localhost Desktop> xxd c.txt0000000: e688 91                                  ...taoge@localhost Desktop> 
       

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



           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/sjhfkhsf/article/details/87862507