Python(x,y)的使用

标签:
pythonspyder兼容中文使用ide |
分类: Python |
推荐文章:http://ajucs.com/2015/11/10/Python-character-encoding-explained.html
- 序:
群内总是有人问”python乱码”问题,在这里,我做一下解答,希望以后有遇到类似问题的人,能自行解决。标题上推荐的文章是阿驹的解决编码问题的文章,非常不错,推荐阅读。
- 原理
乱码根本原因在于“解码不正确”。
python中,我们使用decode()和encode()函数来进行解码和编码。
乱码问题需要抓住两个要点:1)源编码是什么? 2)目标编码是什么?
源编码:
说明:就是你的数据从哪里来的,这个数据是什么编码,就好像你现在要我解决问题,我来了,你先得告诉我问题是什么吧?总之,数据来源很多,可以来自网络,可以来自本地文件,也可以来自其它系统,在处理这些数据之前,你需要知道他们是什么编码,然后才能正确解码。
举例:写爬虫,你需要知道网页是什么编码网页编码,怎么查?百度!写邮件客户端,你需要知道收到的邮件是什么编码。要将源代码中的字符正确显示,你需要知道源代码是什么编码。
目标编码:
说明:就是你的数据要到哪里去。你是要显示出来方便调试爬虫呢?还是要将数据重新编码保存到数据库?又或者是你想对数据进行处理,比如正则匹配、检索数据等。
举例:windows cmd shell中显示中文,需要将数据源编码为cp936; Linux bash shell中显示中文,需要将数据源编码为utf-8.在其它python IDE中要正确显示中文,你需要知道这个IDE是什么编码,将数据源正确编码后IDE就能显示了。
处理编码:
即使用python代码处理字串时使用的编码。处理指编码转换、正则匹配等字串操作。建议将数据源编码转换为unicode编码,然后再进行下一步处理,比如正则、字串都转换为unicode再进行匹配,比如爬虫数据统一转换成unicode,然后正则处理,之后重新编码成其它编码保存数据库。
- Py2 Py3的str类型
- str存在多种编码带来的问题:
- "Py2
str" VS
"Py3 str"
- Py2 Py3的编码流程
-
各种编码场景介绍
- 源代码编码
- 文本编码
- 网页编码
-
获取编码信息
- 邮件编码
- 网页编码
- 邮件正文编码
- 查看linux bash编码:echo $LANG
- 查看security CRT编码
-
解码实例
- 源代码编码
- Windows编码
- 邮件编码(数据源编码)
- 爬虫数据解码(py2.x)
- 转义后的unicode字串处理
- 技巧与方法
参考文章:
http://blog.csdn.net/turkeyzhou/article/details/8927361
http://www.cnblogs.com/zhaoyl/p/3770340.html
http://www.pythonclub.org/python-basic/encode-detail