加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python(x,y)的使用

(2015-12-27 07:34:40)
标签:

python

spyder

兼容中文

使用

ide

分类: Python
http://s15/mw690/002B1i7lzy6Y5LNGR8W1e&690

在spyder中不兼容中文时:把第一行# -*- coding: utf-8 -*-替换成:# -*- coding: cp936 -*-即可

推荐文章:http://ajucs.com/2015/11/10/Python-character-encoding-explained.html

  1. 序:

群内总是有人问”python乱码”问题,在这里,我做一下解答,希望以后有遇到类似问题的人,能自行解决。标题上推荐的文章是阿驹的解决编码问题的文章,非常不错,推荐阅读。

  1. 原理

乱码根本原因在于“解码不正确”。

python中,我们使用decode()encode()函数来进行解码和编码。

乱码问题需要抓住两个要点:1)源编码是什么? 2)目标编码是什么?

源编码:

说明:就是你的数据从哪里来的,这个数据是什么编码,就好像你现在要我解决问题,我来了,你先得告诉我问题是什么吧?总之,数据来源很多,可以来自网络,可以来自本地文件,也可以来自其它系统,在处理这些数据之前,你需要知道他们是什么编码,然后才能正确解码。

举例:写爬虫,你需要知道网页是什么编码网页编码,怎么查?百度!写邮件客户端,你需要知道收到的邮件是什么编码。要将源代码中的字符正确显示,你需要知道源代码是什么编码。

目标编码:

说明:就是你的数据要到哪里去。你是要显示出来方便调试爬虫呢?还是要将数据重新编码保存到数据库?又或者是你想对数据进行处理,比如正则匹配、检索数据等。

举例:windows cmd shell中显示中文,需要将数据源编码为cp936; Linux bash shell中显示中文,需要将数据源编码为utf-8.在其它python IDE中要正确显示中文,你需要知道这个IDE是什么编码,将数据源正确编码后IDE就能显示了。

处理编码:

即使用python代码处理字串时使用的编码。处理指编码转换、正则匹配等字串操作。建议将数据源编码转换为unicode编码,然后再进行下一步处理,比如正则、字串都转换为unicode再进行匹配,比如爬虫数据统一转换成unicode,然后正则处理,之后重新编码成其它编码保存数据库。

  1. Py2 Py3str类型
    • str存在多种编码带来的问题:
    • "Py2 str" VS  "Py3 str"
  2. Py2 Py3的编码流程
  1. 各种编码场景介绍
    1. 源代码编码
    2. 文本编码
    3. 网页编码
  2. 获取编码信息
    1. 邮件编码
    2. 网页编码
    3. 邮件正文编码
    4. 查看linux bash编码:echo $LANG
    5. 查看security CRT编码
  3. 解码实例
    1. 源代码编码
    2. Windows编码
    3. 邮件编码(数据源编码)
    4. 爬虫数据解码(py2.x)
    5. 转义后的unicode字串处理
  1. 技巧与方法

 

 

 

 

 

 

 

 

 

 

 

 

 

 updated 1447308813.3532932 fixed some errs ,edited by onenote

参考文章:

http://blog.csdn.net/turkeyzhou/article/details/8927361

http://www.cnblogs.com/zhaoyl/p/3770340.html

http://www.pythonclub.org/python-basic/encode-detail

http://wolfmaster.iteye.com/blog/638029

http://blog.chinaunix.net/uid-517401-id-353375.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有