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
延伸文章資訊
- 1Python中关于coding=utf-8以及中文字符前加u的解释 - CSDN博客
写了很久的Python了,每次写之前都要在开头加上coding=utf-8,只知道是设置编码格式,但并没有太在意,今天在写socket编程时才发现编码格式的重要性。
- 2Python 中文编码 - 菜鸟教程
Python中默认的编码格式是ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。 解决方法为只要在文件开头加入# -*- coding: UTF-8 -*- 或者# ...
- 3[python]讀取編碼為UTF-8的檔案| twkhjl blog - - 點部落
[python]讀取編碼為UTF-8的檔案. 746; 0. encoding='UTF-8'. fileName="text.txt" file1=open(fileName,"r",enco...
- 4Python 的Big5 與UTF-8 檔案編碼轉換程式教學 - Office 指南
介紹如何使用簡單的Python 程式處理Big5 與UTF-8 檔案的編碼轉換問題。 Big5 與UTF-8 的編碼轉換是在中文資料處理上常見的問題之一,以下介紹如何使用Python 來 ...
- 5Python 程式碼或註解加入中文教學,設定UTF-8 編碼- G. T. Wang
#!/usr/bin/python # -*- coding: utf-8 -*- # 中文註解 print("Hello, world.") Python 指令稿的編碼宣告必須出寫在程式碼的第...