专栏首页Python自动化测试Python的编码与解码(二)

Python的编码与解码(二)

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

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

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

#!/usr/bin/env python 
#coding:utf-8

str='无涯'print str

见在cmd中的输出截图:

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

1、utf-8解码成unicode

2、再编码成为gbk

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

#!/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,已经实现了想要的效果,需要注意的是,在编码的时候直接指向要编码的目标编码,解码的时候需要指定原来的编码。

本文分享自微信公众号 - Python自动化测试(wuya-python),作者:无涯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Jmeter4.0之插件安装(三)

    使用Jmeter的实际过程中,需要使用到很多插件,比如json的插件,还有就是做websocket接口测试的时候需要下载websocket的插件,...

    无涯WuYa
  • 漫谈服务端测试

    熟悉金字塔的同学都知道,整个分层在大的分类思想上分三层,除了单元测试层外,基于把另外两个层次分成客户端的自动化测试和服务端的自动化测试。基于客户端...

    无涯WuYa
  • 持续集成之Gitlab整合应用

    在持续集成之Gitlab环境搭建里面详细的介绍了Gitlab环境的搭建。本次就持续更新Gitlab与Jenkins的整合。登录到Gitlab后,创建...

    无涯WuYa
  • SARSA 算法简介

    State–action–reward–state–action (SARSA) 也是强化学习中很重要的一个算法,它的算法和公式和 Q learning 很像,...

    杨熹
  • WP-Optimize插件无法启动的解决过程

    魏艾斯博客遇到了WP-Optimize 插件无法启动的问题,曾经用 WP-Optimize 插件定期优化和加速数据库,用完之后停止、删除掉不占用系统资源,以后想...

    魏艾斯博客www.vpsss.net
  • 【WP插件】火箭缓存加速-WP Rocket3.3汉化版

    WordPress灰常强大的一款主题插件,网上很多地方在出售汉化版,今天在这里免费分享

    AlexTao
  • 精选IDEA中十大提高开发效率的插件!

    当你进行对象之间赋值的时候,你会发现好麻烦呀,能不能有一个更好的办法呢~ 有,只要你选中需要生成set方法的对象,按下快捷键 alt+enter 界面如下:

    Java技术江湖
  • Android开发的插件Code Generator与LayoutCreator的安装与使用,提升你的开发效率

    大家好,我是 Vic,今天给大家带来Android开发的插件Code Generator与LayoutCreator的安装与使用,提升你的开发效率的概述,希望你...

    达达前端
  • 精选IDEA中十大提高开发效率的插件!

    当你进行对象之间赋值的时候,你会发现好麻烦呀,能不能有一个更好的办法呢~ 有,只要你选中需要生成set方法的对象,按下快捷键 alt+enter 界面如下:

    用户1516716
  • ICIP2018 | 图像鉴黄做得好,健康上网少烦恼

    作者:Xizi Wang, Feng Cheng, Shilin Wang*, Huanrong Sun, Gongshen Liu, ChengZhou

    机器之心

扫码关注云+社区

领取腾讯云代金券