Python 程式碼或註解加入中文教學,設定UTF-8 編碼- G. T. Wang

文章推薦指數: 80 %
投票人數:10人

#!/usr/bin/python # -*- coding: utf-8 -*- # 中文註解 print("Hello, world.") Python 指令稿的編碼宣告必須出寫在程式碼的第一行或第二行,這裡 ... Blogger舊站 關於 Facebook Flickr 物聯網 網站架設 程式設計 統計 素食 特價優惠 宗教 物聯網 網站架設 程式設計 統計 素食 特價優惠 宗教 Python程式碼或註解加入中文教學,設定UTF-8編碼 2017/01/19 0則留言 這裡介紹如何設定Python指令稿的檔案編碼,讓包含中文字的Python程式可以正常執行,不會產生亂碼。

Python在讀取指令稿並執行時,預設會將檔案以ASCII編碼的方式來處理,也就是說如果在Python程式碼或是註解當中有包含中文字的話,在執行時就會出錯,以下是解決Python中文編碼問題的教學。

這是一個包含中文註解的Python指令稿chinese.py: #!/usr/bin/python #中文註解 print("Hello,world.") 如果直接執行: pythonchinese.py 會出現類似這樣的錯誤: File"chinese.py",line3 SyntaxError:Non-ASCIIcharacter'\xe4'infilechinese.pyonline3,butnoencodingdeclared;seehttp://python.org/dev/peps/pep-0263/fordetails 不論中文字是出現在程式碼還是註解當中,都會出現這個錯誤,這則錯誤訊息的意思是指我們的chinese.py指令稿中包含非ASCII的字元。

如果要要讓這種包含中文的UTF-8編碼的Python指令稿正常執行,需要加上明確的檔案編碼宣告才行,例如: #!/usr/bin/python #-*-coding:utf-8-*- #中文註解 print("Hello,world.") Python指令稿的編碼宣告必須出寫在程式碼的第一行或第二行,這裡我們在第二行指定檔案編碼格式UTF-8,這樣就可以正常執行了。

pythonchinese.py Hello,world. Python指令稿的編碼指定方式相當彈性,事實上它是使用coding[=:]\s*([-\w.]+)這一串正規表達式(regularexpression)來讀取編碼設定的,所以只要第一行或第二行註解中的內容可以跟這個正規表達式,即可正確設定檔案編碼,以下是常見的幾種設定方式。

這是同時適用於GNUEmacs編輯器的編碼設定方式,這樣寫的話當我們使用Emacs編輯器開啟這個Python指令稿時,Emacs就會自動以UTF-8編碼開啟此檔案: #-*-coding:utf-8-*- 這是適用於Vim編輯器的寫法: #vim:fileencoding=utf-8 當然也可以用自己喜歡的格式: #fileencoding:utf-8(forchinese) 如果在Windows中使用Big5編碼的話,則將編碼的名稱改為cp950: #-*-coding:cp950-*- 其餘以此類推。

參考資料:python.org、PythonDocumentation、StackOverflow 程式設計 Python G.T.Wang 個人使用Linux經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

LeaveaReply取消回覆 留言* Name* Email* Website 搜尋 分類Arduino(5) BeagleBoneBlack(1) DIY(54) Linux(317) macOS(33) Octave(15) Perl(12) R(47) Windows(98) WordPress(16) 個人(15) 免費(35) 兒童(30) 實用工具(85) 手機(13) 技巧(45) 有趣(99) 樹莓派(57) 物聯網(55) 玄學(11) 生活(209) 程式設計(137) 統計學(8) 網頁空間(36) 網頁開發(128) 虛擬化(7) 農業(42) 遊戲(9) 開箱(132) 雲端(4) 宗教 如何戒邪淫、遠離婚外情 戒淫寶典:《壽康寶鑑》白話有聲書 公益 台灣世界展望會 社團法人新竹縣愛心物資集發協會 家扶基金會 Yahoo奇摩公益 igiving公益網 ©2022G.T.Wang



請為這篇文章評分?