关于Unicode,ASCII,utf-8编码的一点理解

本文探讨了ASCII、Unicode及UTF-8之间的区别,并解释了Unicode如何为全球字符提供统一编码解决方案,同时介绍了UTF-8作为Unicode存储方式之一的角色。

  今天在用python读取字符串的时候出现了u'xxx'这样的字符,一查才知道这是Unicode的表示,虽然用str作了一下转换,但是心里一直对Unicode,utf-8编码等感到疑惑,等将手上的事情做完,果断上网查了一下Unicode,utf-8,ASCII的区别,看到http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html,顿时豁然开朗,作者的描述真是深入浅出,通俗易懂,不禁佩服万分。

  为了检验一下自己理解的程度,就试着按照自己的理解简要地写一下这三者的区别:ASCII码就是我们学C语言时候对英文字符数字等的一些编码,只需要一个byte就能表示,这是因为英文字符少的原因,而其他语言诸如法语,德语,以至于我们的汉语,字符集都远远大于128个,所以各个国家根据自己的语言出了一套编码,比如中文的GBK。但这样一来,就会导致不同编码的文件的冲突,编码方式不对,就会出现乱码,非常不方便。随着互联网的出现,为了统一编码方式,就出现了Unicode编码,直接涵盖全世界所有的符合,成文一个极大的符号集,目前已经有100万左右的符号集,每个符号都会对应其中一个编码方式,比如汉子的“严”对应的就是4E25。但是,另外一个方面,unicode只是规定了符合的表示法,却没有规定它的存储方法,所以其实Unicode会有不同的存储方法,而Utf-8则是Unicode的一种存储方法,其他方法还有utf-8,utf-32。

  至于utf-8具体的编码方式,不同编码方式的转换,这里就不作详细研究,上述提到的文章里有详细的介绍,再次感谢阮一峰的文章。

 

参考文章:

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

转载于:https://www.cnblogs.com/Brogrammer/archive/2012/08/02/2620661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值