【发布时间】:2011-01-03 14:57:03
【问题描述】:
我基本上使用下面的正则表达式来搜索和删除这些字符。
invalid_unicode = re.compile(ur'(Û|²|°|±|É|¹|Í)')
我在ASCII 编码的源代码,每当我尝试运行脚本时,它就会吐出:
语法错误:第 273 行的文件 ./release.py 中的非 ASCII 字符“\xdb”,但未声明编码;详情见http://www.python.org/peps/pep-0263.html
如果我按照给定网站上的说明进行操作,并将utf-8 放在第二行编码上,我的脚本将不会运行。相反,它给了我这个错误:
SyntaxError: (unicode error) 'utf8' codec can't decode byte 0xdb in position 0: unexpected end of data
如何让这个正则表达式在 ASCII 书写的脚本中运行会很棒。
【问题讨论】:
-
我刚刚发现这些字符不是 unicode 而是扩展的 ascii 码。
-
我强烈推荐阅读 Joel 关于 Unicode 和字符集的文章:joelonsoftware.com/articles/Unicode.html
标签: python regex unicode ascii