我有这一行:
#str = u'Harsha: This has unicode character ♭.\n'
此行会导致SyntaxError: Non-ASCII character '\xe2'
,即使它已被评论。
如果我删除此行,则错误消失。谁能告诉我这里有什么问题?
我正在使用PyCharm作为IDE。
答案 0 :(得分:2)
您想在源文件的顶部添加以下行:
# -*- coding: utf-8 -*-
这告诉python源文件的编码是什么。
答案 1 :(得分:0)
您需要提示正确的文件编码。
如您所知,字符e2
由二进制字符串
1110 ...
这是ambiguos因为它可能是三元组的UTF8起始字节,或者只是一个扩展的ASCII字符(这就是你想要的)。
Python默认为ASCII(7位字符),这意味着如果不提供一些提示来解析代码,那么每次超过7位都将被视为模糊,从而导致错误。
你应该改为逃避那个角色,或者如果可能的话暗示python解释器这样做(我不知道是否可能,我只找到了一个提案,但我不知道是否已实现)