1. 程式人生 > >python 3 寫中文報錯 SyntaxError: Non-UTF-8 code,編碼宣告的區別

python 3 寫中文報錯 SyntaxError: Non-UTF-8 code,編碼宣告的區別

python 預設是使用 ascii 編碼的,直接 print("中文") 是會報錯的:

例如:

print("你好")

報錯:

SyntaxError: Non-UTF-8 code starting with '\xc4' in file D:/Program Files (x86)/JetBrains/PyCharm  ...

但是在檔案頭加上 : #coding = utf-8 就不會報錯了

#coding = utf-8

print("你好")

但是可以有很多種寫法 : 如 

#coding : utf-8

# -*- coding: utf-8 -*-

# -*- coding= utf-8 -*-

其實最終只要符合正則:  "coding[:=]\s*([-\w.]+)"   的樣子就可以了

都沒什麼區別,我一般寫 #coding = utf-8,因為這樣簡單

官方也有解釋文件: https://www.python.org/dev/peps/pep-0263/