语法错误:非UTF8?

2024-04-25 01:41:47 发布

您现在位置:Python中文网/ 问答频道 /正文

age = int(input("Please type your age:"))
if int(age) >= 18:
    print("Sorry, you couldn't enter!")
else:
    print("Congratulation, have a good time!")

SyntaxError:文件go中以'\xa3'开头的非UTF-8代码收件人.py在第1行,但没有声明编码

为什么?在


Tags: youinputageyourifhavetypeelse
2条回答

第一个问题

没有文本,只有编码文本。在

如果文件是从文本中写入的,则编写器选择字符编码。文本文件的通信包括字节和字符编码知识。在

您正在告诉编译器(可能在默认情况下)您的文件是用UTF-8编码的。它说它不可能(而且可能是正确的)。所以,你首先要告诉它是哪个编码。在

另一方面,由于UTF-8是Unicode字符集的一种非常常见的编码方式,并且Unicode包含了您可能使用过的所有字符,而且它是许多很多程序(包括Python)的默认设置,所以您可以将文件转换为UTF-8。在

第二个问题

@soon's answer处理第二个问题,即对不属于语法的语法使用字符。它们是confusables。在

您的代码包含几个python解释器无法识别的字符。它们看起来像常规的(和{}:

In [8]: ord('(')
Out[8]: 40

In [9]: ord('(')
Out[9]: 65288

In [10]: ord(':')
Out[10]: 58

In [11]: ord(':')
Out[11]: 65306

似乎你从某个地方复制了代码-只需手动将所有括号和冒号替换为有效字符

相关问题 更多 >