python 编码问题的总结

1、代码模块需要指定编码
   如果代码没有指定coding,python就默认所有的字符为ASCII码,ASCII码只支持256个字符,ASCII码不支持中文,所以就报错。
   所以要在代码前写上#coding:utf-8或#coding:gbk
   建议你的代码统一写成这样:

#coding:utf-8

import sys
reload(sys) 
sys.setdefaultencoding('utf-8') 


2、python2内部所有编码统一为unicode
  unicode可以处理世界上所有语言的字符,其中utf-8为unicode的一种实现形式。


3、编码转换
   牢记python2内部编码为unicode,其它的编码decode()则转为unicode, encode()编码为你指定的编码。

4、爬取网页时候

   如果网页的编码为gbk,需要这样处理:
 

html = html.decode('gbk').encode('utf-8')


5、在win下,文件开头写#coding:gbk,但也要保证文件编码格式为gbk。


6、unicode的汉字编码写到文本文件中,需要根据文本文件的编码进行转换,可以encode('utf-8')或encode('gbk')

参考:http://blog.chinaunix.net/uid-12014716-id-5522891.html

posted @ 2015-12-01 00:03  kennyhip  阅读(204)  评论(0)    收藏  举报