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的Django框架中用流响应生成CSV文件的教程
May 02 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
python3学生名片管理v2.0版
Nov 29 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python使用xpath实现图片爬取
Sep 16 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
Python实现简单的猜单词
Jun 15 Python
python内置模块之上下文管理contextlib
Jun 14 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中 === 的使用
2016/10/24 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
python检测某个变量是否有定义的方法
2015/05/20 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
教师党员思想汇报
2014/01/06 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
保外就医申请书范文
2015/08/06 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
mysql数据库入门第一步之创建表
2021/05/14 MySQL
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
javascript数组includes、reduce的基本使用
2021/07/02 Javascript