2012-12-29 35 views
0

我正在研究一个漂亮的数据密集型算法,速度是我的首要任务。基本上它涉及使用非常大的字符串。没有得到太多的细节,它的工作原理在眨眼之间没有这些代码:Python编码真的是在减慢我的应用程序

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)

+2

你可以使用'your_string.decode( 'ASCII', '忽略')'和钢带取出所有非ASCII字符。 – Blender

+0

哇。我觉得......并不像我15秒前那么聪明。非常感谢你!随意张贴这个答案,如果你愿意,我会检查她。 – suitegamer

+0

它确实提高了性能? – Blender

回答

2

您可以.decode()剥离所有非ASCII字符:

your_string.decode('ascii', errors='ignore') 
相关问题