最近一直讲的是python基础方面的知识,小编一直在考虑要不要加大难度。这个问题犹豫了很久,怕一些python小白不能很好的接受知识点。但是最近小编收到不少小伙伴的强烈要求,想要学习编码这个模块的知识。小编对大家向来是有求必应,马上就给大家安排上了python字符编码相关的知识,接下来一起看看能不能学会吧。
成都创新互联是专业的雁塔网站建设公司,雁塔接单;提供成都网站建设、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行雁塔网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
编码介绍
在人类社会,不同国家有不同的标准语法,简体汉语、繁体汉语、美式英语、英式英语等.....
但是机器保存数据是以一种特殊的方式来保存,读取的时候也是以同样的方式来解读。
在Python3当中,默认处理中文的方式叫UTF-8。【对比出伤害:UTF-8支持中文,Python2默认格式是ASCII,不支持中文】
同样的一个中文词语,例如:"中国",经过UFT-8方法转存到硬盘中,比如保存成了"110",再通过UFT-8方法读取,也是显示"中国";通过另一种方法转存到硬盘中,"中国"则会保存成"101",然后通过UTF-8读取,肯定不会显示成"中国",也许就是一个乱七八糟的乱码"烫烫烫烫烫烫烫烫烫";
虽然上面的110、119、烫烫烫是乱填的,下面示例代码中有具体值,总之一个:想要显示正常,读取数据时格式,必须和保存数据时使用的一致。
闲扯几句——Python2 字符串设计上的一些缺陷:
使用ASCII 码作为默认编码方式,对中文处理很不友好。
把字符串牵强地分为 unicode 和 str 两种类型,误导开发者
以上提及的两个问题,Python3都很好的解决了
首先,Python3 把系统默认编码设置为 UTF-8
然后,文本字符和二进制数据区分得更清晰,分别用 str 和 bytes 表示。
代码示例:
import sys, locale s = "小甲" print(s) print(type(s)) print(sys.getdefaultencoding()) print(locale.getdefaultlocale()) with open("utf1","w",encoding = "utf-8") as f: f.write(s) with open("gbk1","w",encoding = "gbk") as f: f.write(s) with open("jis1","w",encoding = "shift-jis") as f: f.write(s)
代码很简单,学过Python的人应该都能看懂是啥意思~~
我们看一下运行结果:
小甲utf-8 ('en_US', 'UTF-8')
正如大家所想, 就是将“小甲”原样打印出来, 再把“小甲”存到3个文件中。
(shift-jis是日文编码格式)
这里解释一下打印出来的两个“utf-8”是什么意思:
上面的 utf-8 指:系统默认编码
注: 不要把系统以为是操作系统,这里可以理解成python3的编译器本身
下面的 utf-8 指:本地默认编码
注: 这个才是操作系统的编码。(在Windows运行会变成gbk)
今天分享的python3字符编码的内容到这里就结束了。虽然有示例介绍,也不知道小伙伴们能不能完全理解今天的内容呢?实在不会的可以私下互相学习和交流,相信大家最终都能学会~
名称栏目:创新互联Python教程:python3字符编码是什么?怎么用?
标题URL:http://www.shufengxianlan.com/qtweb/news16/72516.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联