前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python的编码与解码(二)

Python的编码与解码(二)

作者头像
无涯WuYa
发布2018-10-25 16:04:27
5040
发布2018-10-25 16:04:27
举报

编写一个python文件后,执行该python文件后,就会产生一个与其同名的pyc文件,改文件就是python编译之后产生的字节码,事实上,本节并不关心这个,本节的重点是来了解和学习python的编码和解码,python的解释器在加载.py文件执行的时候,会对内容进行编码,默认是ascill,为了更好的扩展python语言,就产生了unicode的编码,我们写个在编写中文的时候,在中文前面加u,这时候编码就是unicode。

我们经常使用的编码格式是utf-8和gbk,那么作为python语言,怎么来实现这二个编码格式的互相转换了?可以通过编码,解码的方式来实现,具体实现见如下的截图:

下面我们就来实现这样的一个过程,我们先写一个中文,在cmd执行,看它的输出,见源码和实际的输出:

代码语言:javascript
复制
#!/usr/bin/env python 
#coding:utf-8

str='无涯'print str

见在cmd中的输出截图:

本来想的是输出“无涯”,结果输出的是乱码,cmd的编码格式是gbk的,那么我们就需要把utf-8转为gbk,实现这样的一个过程步骤为:

1、utf-8解码成unicode

2、再编码成为gbk

见实现这样一个过程的代码:

代码语言:javascript
复制
#!/usr/bin/env python 
#coding:utf-8

str='无涯'
#把utf-8解码成unicode
str_unicode=str.decode('utf-8')
#把unicode编码成gbk
str_gbk=str_unicode.encode('gbk')
print str_gbk

转成gbk格式后,和cmd的编码格式一致,我们来输出,看看是否还是乱码还是输出的是中文,见截图:

OK,已经实现了想要的效果,需要注意的是,在编码的时候直接指向要编码的目标编码,解码的时候需要指定原来的编码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档