Python编码类型转换方法详解


Posted in Python onJuly 01, 2016

本文实例讲述了Python编码类型转换方法。分享给大家供大家参考,具体如下:

1:Python和unicode

为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。

2:python中的print

虽然python内部需要将文本编码转换为unicode编码来处理,而终端显示工作则由传统的Python字符串完成(实际上,Python的print语句根本无法打印出双字节的Unicode编码字符)。

python的print会对输出的unicode编码(对其它非unicode编码,print会原样输出)做自动的编码转换(输出到控制台时),而文件对象的write方法就不会做,因此,当一些字符串用print输出正常时,write到文件确不一定和print的一样。

在linux下是按照环境变量来转换的,在linux下使用locale命令就可以看到。print语句它的实现是将要输出的内容传送了操作系统,操作系统会根据系统的编码对输入的字节流进行编码。

>>>str='学习python'
>>> str
'\xe5\xad\xa6\xe4\xb9\xa0python' #asII编码
>>> print str
学习python
>>> str=u'学习python'
>>> str       ####unicode编码
'\xe5u\xad\xa6\xe4\xb9\xa0python'

3: python中的decode

将其他字符集转化为unicode编码(只有中文字符才需要转换)

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'

这样就对中文字符进行了编码转换,可用python进行后续的处理;(如果不转换的话,python会根据机器的环境变量进行默认的编码转换,这样就可能出现乱码)

4:python中的encode

将unicode转化为其它字符集

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'
>>> ustr.encode('utf-8')
'\xe5\xad\xa6\xe4\xb9\xa0'
>>> print ustr.encode('utf-8')
学习

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
python生成式的send()方法(详解)
May 08 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
python模块之time模块(实例讲解)
Sep 13 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
python装饰器练习题及答案
Nov 01 Python
使用python 对验证码图片进行降噪处理
Dec 18 Python
Python变量作用域LEGB用法解析
Feb 04 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
Python基于pandas爬取网页表格数据
May 11 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
python爬取2021猫眼票房字体加密实例
Feb 19 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 #Python
Python中的time模块与datetime模块用法总结
Jun 30 #Python
详解Swift中属性的声明与作用
Jun 30 #Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 #Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 #Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 #Python
Python的Tornado框架实现图片上传及图片大小修改功能
Jun 30 #Python
You might like
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
php创建类并调用的实例方法
2019/09/25 PHP
Js+XML 操作
2006/09/20 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python中的is和id用法分析
2015/01/26 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python操作excel的方法
2018/08/16 Python
python对于requests的封装方法详解
2019/01/03 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
售后专员岗位职责
2013/12/08 职场文书
企业宣传工作方案
2014/06/02 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
Python制作动态字符画的源码
2021/08/04 Python