Python 程式碼或註解加入中文教學,設定UTF-8 編碼- G. T. Wang
文章推薦指數: 80 %
#!/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
延伸文章資訊
- 1Day27 Python 基礎- 字符轉編碼操作 - iT 邦幫忙
UTF-8 是一種針對Unicode的可變長度字元編碼,英文字符一樣會依照ASCII碼規範,只占一個字節8bit,而中文字符的話,統一就占三個字節. 回顧可以參考字符編碼.
- 2Python 程式碼或註解加入中文教學,設定UTF-8 編碼- G. T. Wang
#!/usr/bin/python # -*- coding: utf-8 -*- # 中文註解 print("Hello, world.") Python 指令稿的編碼宣告必須出寫在程式碼的第...
- 3Python 的Big5 與UTF-8 檔案編碼轉換程式教學 - Office 指南
介紹如何使用簡單的Python 程式處理Big5 與UTF-8 檔案的編碼轉換問題。 Big5 與UTF-8 的編碼轉換是在中文資料處理上常見的問題之一,以下介紹如何使用Python 來 ...
- 4[Python]編碼宣告:是coding:utf-8還是coding=urf-8呢- 程式人生
推薦: #!/usr/bin/env python3 # -*- coding: utf-8 -*-. 我們知道在Python原始碼的標頭檔案中要宣告編碼方式,如果你不只是會用到ascii碼,很...
- 5Python中的encoding=utf-8是什么意思? - 知乎
coding=utf-8的作用是. 声明python代码的文本格式是utf-8编码,. 也即告诉python解释器要按照utf-8编码的方式来 ...