天天看點

Python版解決中文字元串錯誤Python版解決中文字元串錯誤

Python版解決中文字元串錯誤

在制作工具時使用到了中文字元,結果出現了錯誤。網上搜尋了各種方法仍然無效,最後通過多次的debug和嘗試才解決。為此寫下來做為參考。

系統為

Ubuntu1404

,安裝了

Python 2.7.6

Python 3.4.3

。具體的代碼如下:

name = "簽名檔案.png"
print(name)
           
  • 1
  • 2
  • 3
  • 4

把該代碼儲存到

code.py

檔案中,然後運作,出錯的資訊如下:

$ python code.py
  File "code.py", line 2
SyntaxError: Non-ASCII character '\xe7' in file code.py on line 23,
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
           
  • 5
  • 6
解決方法就是在檔案開關加入以下聲明:
#coding=utf8           

該聲明告訴編譯器源代碼檔案使用

utf-8

格式進行編碼。

該方法的原理在于

python2

預設使用

ASCII

編碼格式,而

ASCII

編碼中不包括中文字元,隻有

Unicode

或者

utf-8

編碼才支援中文等字元。通過這種聲明,就是告訴編譯器使用

utf-8

格式進行編碼,這樣就能識别中文字元。

當然還有另外一種解決方法,那就是使用

python3

進行編譯,因為

python3

Unicode

編碼格式.

具體的操作如下:
$python3 code.py
簽名檔案.png
           

其實問題比較簡單,隻要說清楚問題發生的背景和解決的原理就可以。

原文位址 

https://blog.csdn.net/talk_8/article/details/82228547