Python原始檔的字元編碼

2021-10-10 01:44:10 字數 1224 閱讀 1842

預設情況下,python 原始碼檔案以 utf-8 編碼方式處理。在這種編碼方式中,世界上大多數語言的字元都可以同時用於字串字面值、變數或函式名稱以及注釋中——儘管標準庫中只用常規的 ascii 字元作為變數或函式名,而且任何可移植的**都應該遵守此約定。要正確顯示這些字元,你的編輯器必須能識別 utf-8 編碼,而且必須使用能支援開啟的檔案中所有字元的字型。

明確地宣告編碼可以簡化python直譯器的實現,免得它去猜測原始檔的編碼,這樣既會增加直譯器的複雜性,也會減慢程式的執行速度(畢竟是解釋執行)。況且,程式執行必須是精確的,不能靠猜測。

如果不使用預設編碼,要宣告檔案所使用的編碼,檔案的第一行要寫成特殊的注釋。語法如下所示:

# -*- coding: encoding -*-
其中 encoding 可以是 python 支援的任意一種 codecs。

比如,要宣告使用 windows-1252 編碼,你的原始碼檔案要寫成:

# -*- coding: cp1252 -*-
關於第一行規則的一種例外情況是,原始碼以 unix 「shebang」 行開頭。這種情況下,編碼宣告就要寫在檔案的第二行。例如:

#!/usr/bin/env python3

# -*- coding: cp1252 -*-

在bsd等類unix系統上,python指令碼可以直接執行,就像shell指令碼一樣,第一行新增:

#!/usr/bin/env python3.6
(假設直譯器位於使用者的 path )指令碼的開頭,並將檔案設定為可執行。 #! 必須是檔案的前兩個字元。在某些平台上,第一行必須以unix樣式的行結尾(』\n』)結束,而不是以windows(』\r\n』)行結尾。請注意,雜湊或磅字元 『#』 在python中代表注釋開始。

可以使用 chmod 命令為指令碼提供可執行模式或許可權。

$ chmod +x myscript.py
在windows系統上,沒有「可執行模式」的概念。 python安裝程式自動將 .py 檔案與 python.exe 相關聯,這樣雙擊python檔案就會將其作為指令碼執行。擴充套件也可以是 .pyw ,在這種情況下,會隱藏通常出現的控制台視窗。

備註:在unix系統中,python 3.x直譯器預設安裝後的執行檔案並不叫作 python,這樣才不會與同時安裝的python 2.x衝突。

參考文件:

改變 Python 原始檔的編碼格式

建議在python2.x中嘗試 coding utf 8 使用python2.x直譯器,可以看出源 不同編碼的時的區別 s0 中文 print repr s0 若是 coding gbk 則輸出 xd6 xd0 xce xc4 若是 coding utf 8 則輸出 xe4 xb8 xad xe6 ...

原始檔編碼方式

漢字 gbk編碼 ba ba d7 d6 utf 8編碼 e6 b1 89,e5 ad 97 utf 16be編碼 6c 49,5b 57 兩種常用編譯器gcc,cl中對unicode字面值的實現 gcc中跟編碼方式轉換有關的三個編譯選項 有了以上鋪墊,下面兩條語句的意義就很清楚了 注1 gcc在4...

pycharm 原始檔 編碼格式

pycharm 4.5.3 版本 修改專案的編碼 按如下操作 選單 file settings editor file encodings 將ide encoding 和 project encoding 可以修改為自己想要設定的編碼格式 一般預設的project是gbk的編碼格式,可將此兩項全部設...