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条件和循环的使用方法
Nov 01 Python
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
利用Psyco提升Python运行速度
Dec 24 Python
Python列表(list)常用操作方法小结
Feb 02 Python
python开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
python实现最短路径的实例方法
Jul 19 Python
python 如何区分return和yield
Sep 22 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 Python
Python Django搭建文件下载服务器的实现
May 10 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和ACCESS写聊天室(五)
2006/10/09 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python实现K最近邻算法
2018/01/29 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
工程资料员岗位职责
2014/03/10 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
临时租车协议范本
2014/09/23 职场文书
感恩主题班会教案
2015/08/12 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
python使用pymysql模块操作MySQL
2021/06/16 Python