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代码来解图片迷宫的方法整理
Apr 02 Python
使用Python神器对付12306变态验证码
Jan 05 Python
详解python单例模式与metaclass
Jan 15 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
TensorFlow变量管理详解
Mar 10 Python
python实现拓扑排序的基本教程
Mar 11 Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
python 删除非空文件夹的实例
Apr 26 Python
pycharm 安装JPype的教程
Aug 08 Python
Scrapy实现模拟登录的示例代码
Feb 21 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 团购折扣计算公式
2011/11/24 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
强制设为首页代码
2006/06/19 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
js动态切换图片的方法
2015/01/20 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
搭建vue开发环境
2018/07/19 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
解析Python中while true的使用
2015/10/13 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python global全局变量函数详解
2018/09/18 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
总裁岗位职责
2013/12/04 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
学籍证明模板
2014/11/21 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
德劲DE1108畅想
2021/04/22 无线电
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS