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设置windows桌面壁纸的实现代码
Jan 28 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
Aug 04 Python
python scatter函数用法实例详解
Feb 11 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
浅析Python迭代器的高级用法
Jul 16 Python
next在python中返回迭代器的实例方法
Dec 15 Python
python基于机器学习预测股票交易信号
May 25 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 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利用curl抓取新浪微博内容示例
2014/04/27 PHP
php以post形式发送xml的方法
2014/11/04 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
JS实现密码框效果
2020/09/10 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python处理文本换行符实例代码
2018/02/03 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
2014年残联工作总结
2014/11/21 职场文书
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS