Python编码真的让我的应用程序变慢了

时间:2012-12-29 17:21:10

标签: python encoding runtime

我在这里研究一种相当数据密集的算法,速度是我的首要任务。基本上它涉及使用非常大的字符串。如果没有太多细节,它就会在没有这些代码的情况下眨眼间工作:

html = unicode(strip_tags(html_source), errors='ignore')
html2 = unicode(strip_tags(html_source2), errors='ignore')

如果我不将每个字符串编码为unicode,那么我遇到的问题就是我得到了可怕的:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5747: ordinal not in range(128)

我有什么办法可以简化这个过程吗? ascii范围内的一小部分数据对我来说并不重要。无论如何我可以在不编码整个字符串的情况下一起忽略错误吗?

非常感谢! (我目前正在使用python2.7.3)

1 个答案:

答案 0 :(得分:2)

您可以使用.decode()删除所有非ASCII字符:

your_string.decode('ascii', errors='ignore')