六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 166|回复: 0

python编码问题总结

[复制链接]

升级  87.33%

51

主题

51

主题

51

主题

秀才

Rank: 2

积分
181
 楼主| 发表于 2013-2-7 21:04:00 | 显示全部楼层 |阅读模式
1.#coding=utf-8
每一个.py文件开头一二行都要声明文件唯一的一个编码,具体格式及细节详见PEP0263
作用:python解释器将按照此编码来解析一个.py文件。注意此编码并不一定是.py文件在磁盘上保存时的编码,但我测试发现像vim、ulipad这样的IDE在指定encoding:utf-8时,文件自动会按照指定的编码保存在硬盘上,如果人为使两者不同,python解释器会出错。因此似乎可以得出这样的结论:此编码其实就是.py文件在磁盘上保存的编码,改变为另外一种编码会导致python解释器不认识或不识别这种编码而导致出错,解释器应该有一个参数指定按照什么格式识别文件,但最好不要这样,不要引起不必要的麻烦。。。

2.html=urlopen(url).read()
html这一个字符串的编码为网页中meta指定的编码
str='aaa中文bbb'
str.find('中文')
结果是可以找到
若html中包含'中文',但执行
html.find('中文')
结果是找不到
原因在于两种串的编码不同,需要将html串转为encoding指定的编码的那个串,因为find('中文')中的目的串编码为encoding
html=unicode(html,html_encode,'ignore').encode(py_encode,'ignore')
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表