簡體   English   中英

語法錯誤:非UTF-8?

[英]SyntaxError: Non-UTF-8?

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

語法錯誤:文件中以'\\ xa3'開頭的非UTF-8代碼轉到第1行的to.py,但未聲明編碼;

為什么?

您的代碼包含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

好像您從某處復制了代碼-只需用有效字符手動替換所有括號和冒號

第一個問題

沒有文字,只有編碼文字。

如果從文本寫入文件,則編寫者選擇字符編碼。 文本文件的通信包括字節和字符編碼知識。

您正在告訴編譯器(可能是默認情況),您的文件是使用UTF-8編碼的。 就是說不可能(可能是正確的)。 因此,您首先必須告訴它它是哪種編碼。

另一方面,由於UTF-8是Unicode字符集的非常常見的編碼,並且Unicode具有您可能會使用的所有字符,並且它是很多程序(包括Python)的默認設置,因此可以轉換文件轉換為UTF-8。

第二個問題

@soon的答案解決了使用語法中不包含字符的語法的第二個問題。 它們是易混淆的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM