Python编码类型转换方法详解

 更新时间:2016年07月01日 09:41:06   作者:wuwenjunwwj  
这篇文章主要介绍了Python编码类型转换方法,结合实例形式详细分析了Python针对各种常见编码的转码与解码等操作技巧,需要的朋友可以参考下

本文实例讲述了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图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

  • Python Flask + Redis 程序练习

    Python Flask + Redis 程序练习

    这篇文章主要给大家分享Python Flask + Redis 程序的练习,准备一个Python文件,名字为 app.py 提供一个web服务,可以访问地址,返回一个Hello Container World!并且记录访问的次数,下面来看看有趣的练习过程吧
    2022-01-01
  • python的即时标记项目练习笔记

    python的即时标记项目练习笔记

    这篇文章主要介绍了python的即时标记项目练习笔记,本文是阅读《python基础教程》一书的动手实践项目,需要的朋友可以参考下
    2014-09-09
  • Python imread、newaxis用法详解

    Python imread、newaxis用法详解

    这篇文章主要介绍了python imread、newaxis用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python对于json数据键值对遍历

    Python对于json数据键值对遍历

    这篇文章主要介绍了一文搞定Python中对于json数据键值对遍历,Python中可以通过字典或者列表的遍历方式来遍历JSON格式的数据中的键值对,具体的遍历方法取决于你将JSON数据解析后得到了一个字典对象还是一个列表对象,以及JSON数据的结构,需要的朋友可以参考下
    2023-04-04
  • PyCharm Python Console中文输出乱码问题及解决

    PyCharm Python Console中文输出乱码问题及解决

    这篇文章主要介绍了PyCharm Python Console中文输出乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • python使用BeautifulSoup分析网页信息的方法

    python使用BeautifulSoup分析网页信息的方法

    这篇文章主要介绍了python使用BeautifulSoup分析网页信息的方法,涉及Python使用BeautifulSoup模块分析网页信息的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python多线程实现模拟火车站售票

    Python多线程实现模拟火车站售票

    这篇文章主要为大家详细介绍了Python多线程实现模拟火车站售票,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Django 浅谈根据配置生成SQL语句的问题

    Django 浅谈根据配置生成SQL语句的问题

    今天小编就为大家分享一篇Django 浅谈根据配置生成SQL语句的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Django 批量插入数据的实现方法

    Django 批量插入数据的实现方法

    这篇文章主要介绍了Django 批量插入数据的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python 模块重载的五种方法

    python 模块重载的五种方法

    这篇文章主要介绍了python 模块重载的五种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04

最新评论