设为首页 收藏本站
查看: 878|回复: 0

[经验分享] Python学习之——编码方式

[复制链接]

尚未签到

发表于 2015-12-3 10:35:06 | 显示全部楼层 |阅读模式
1.各种编码方式


ASCII:http://zh.wikipedia.org/zh-hans/ASCII
Unicode:http://zh.wikipedia.org/zh-hans/Unicode
UTF-8:http://zh.wikipedia.org/zh/UTF-8
GBK:http://zh.wikipedia.org/zh/%E6%B1%89%E5%AD%97%E5%86%85%E7%A0%81%E6%89%A9%E5%B1%95%E8%A7%84%E8%8C%83
GB_2312:http://zh.wikipedia.org/zh/GB_2312

2.各种编码方式的来由




1.编码:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0).具体用哪些二进制数字表示哪个符号,当然
每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就
出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。



2.ASCII(American Standard Code for Information Interchange):
众所周知,计算机是由美国人发明的,那么ASCII的制定也是由美国人完成的,因此ASCII的制定是为了显示现代美国英语。其中包括:
26个基本拉丁字母、阿拉伯数字和英式标点符号。



3.GB2312 :
ASCII只能解决美国人的信息交换需求,对于以汉字汉语为交流工具的中国人必须制定自己的编码方式,才能解决信息交流的要求。
GB2312就是这样一种编码方式,它是中华人民共和国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》。

  4.Unicode: 世界上有200多个国家和地区,常用的语言文字也有几十种,各国都制定了自己的编码标准。例如日本:Shift_JIS,韩国:Euc-kr,各国有各国的标
准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。
Unicode的产生就是为了解决这个问题的。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
     常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。


  既然Unicode方式解决了冲突,也就是能达到全世界交换信息的需求,那又是为什么要有utf-8这种编码方式呢?看下图




5.UTF-8(8-bit Unicode Transformation Format)
如果信息基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以,为了节约空间,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,
常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码
就能节省空间。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146702-1-1.html 上篇帖子: linux python 更新版本 下篇帖子: python commands包不支持windows环境与如何在windows下使用的简易方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表