+ -
当前位置:首页 → 问答吧 → python 编码转换的问题

python 编码转换的问题

时间:2011-03-03

来源:互联网

python编码转换有个函数, 就是 unicode(s,'utf-8') 类似这样,在我做爬虫的时候,爬下一个网页经常情况是编码转换时就会报一个codec的无法编码错误,据说其中有个别字符不能被制定的编码类型编码大多数还是好的。

这种情况非常常见,一个解决办法就是用unicode(s,'utf-8','ignore')这种形式。 但是问题是,其实我的需求很一致,每次用到编码转化都需要这种高容错性的ignore . 但系统默认,如果没这个参数的时候, 就是error。 就是说,一旦有一个字符无法编码,则报错,程序死掉。 

也不能用try,因为你接活了错误,这个活还得做,还需要用ignore类型。

我的问题就是有没有办法将编码的默认处理方式设成ignore ? 因为默认的error模式实在是太逊了。给我的变成带来的很大的麻烦。也不可能每次都写这个ignore函数。

因为在python的输出输入的时候,内涵了编码转换。比如输出是gbk。 他举自动调用一个 s.encode('gbk'),然后把斑马后的输出。问题据说如果这个默认的编码有错的话,就胡失败。所以也不能让我没催输出都写一个 

print s.encoding('gbk','ignore') 把 。print用的多普遍啊。 这么写折腾死人了。 

作者: TaiJi1985   发布时间: 2011-03-03

我不认为这是个麻烦。你的代码里一般应该只有三四处做解码。如果你频繁解码,说明你写的代码有很多冗余的部分。

作者: iambic   发布时间: 2011-03-03

是在不行可以自己写 转码程序 想怎么搞就怎么搞

作者: batmanlf   发布时间: 2011-03-03

热门下载

更多