帮助在Python中替换非ASCII字符

时间:2010-05-27 14:07:35

标签: python non-ascii-characters replace

我在Python中使用HTTPLIB2包下载了一堆HTML文件。 ''显示为'''。

<font color="#ff0000">02/12/2004Â </font> is showing while <font color="#ff0000">02/12/2004&nbsp;</font> is the desired format.

如何在Python中用'Â '替换'&nbsp;'?非常感谢!

3 个答案:

答案 0 :(得分:1)

你遇到了编码问题。不要尝试删除此字符,而是查找页面的编码,然后在阅读文件时,使用codecs module代替open(),使用正确的字符编码。

答案 1 :(得分:0)

filtered_content = filter(lambda x: x in string.printable, content)

这解决了我的问题。谢谢!

答案 2 :(得分:-1)

s.replace('Â ', '&nbsp;');

然而,虽然我没有使用过HTTPLIB2,但我确信如果在下载HTML文件时更改了HTML文件的来源,则会出现问题。可能会出现解码问题。您使用的是哪个版本的Python?如果它是Python 3,则内容将是字节序列,而不是字符串,因此您必须指定正确的代码页来解码字节。

http://code.google.com/p/httplib2/wiki/ExamplesPython3

编辑:如果您不仅限于使用httplib2,也许您可​​以尝试使用属于Python 2.6的urlliburllib2httplib模块标准库?