python基礎 8 字元編碼

2022-01-29 22:01:56 字數 1575 閱讀 9572

1、ascii

ascii(american standard code for information interchange,美國標準資訊交換**)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(乙個位元組),即:2**8 = 256-1,所以,ascii碼最多只能表示 255 個符號,python2.x直譯器預設是ascii編碼。

顯然ascii碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼,即:unicode

二進位制和數字轉換:128 64 32 16 8 4 2 1    比如:2表示二進位制 0000 0010

字元和數字轉換 : 檢視ascii碼表    比如: a字母 表示數字是65,二進位制是0100 0001

2、unicode

unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,規定所有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536,注:此處說的的是最少2個位元組,可能更多,比如漢字就需要3個位元組,python3.x直譯器預設是unicode編碼。

3、utf-8

是對unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行動態分類:ascii碼中的內容用1個位元組儲存、歐洲的字元用2個位元組儲存,漢字用3個位元組儲存...

所以,python2.x直譯器在載入 .py 檔案中的**時,會對內容進行編碼(預設ascii),如果是如下**的話:

報錯:ascii碼無法表示中文

tomcat@node:~$ vim a.py

#!/usr/bin/env python

print

"你好!世界

"tomcat@node:~$ python a.py

file

"a.py

", line 2syntaxerror: non-ascii character '

\xe4

'in file a.py on line 2, but no encoding declared; see for details

改正:應該顯示的告訴python直譯器,用什麼編碼來執行源**,即:

tomcat@node:~$ vi a.py

#!/usr/bin/env python

#coding:utf-8

print

"你好!世界

"tomcat@node:~$ python a.py

你好!世界

注意:python3.x中字符集預設為utf-8

python2.x還是ascii所以需要設定#coding:utf-8

字元編碼總結:

python基礎4 字元編碼

python基礎 字元編碼 一 了解字元編碼 1.文字編輯器訪問檔案的原理 nodepad pycharm,word 開啟編輯器就開啟了啟動了乙個程序,是在記憶體中的,所以在編輯器編寫的內容也都是存放與記憶體中的,斷電後資料丟失 因而需要儲存到硬碟上,點選儲存按鈕,就從記憶體中把資料刷到了硬碟上。在...

python基礎12 字元編碼

字元編碼 字符集和字元編碼一般都是成對出現的,如ascii ios 8859 1 gb2312 gbk,都是即表示了字符集又表示了對應的字元編碼。unicode比較特殊,有多種字元編碼 utf 8,utf 16等 ascii american standard code for informatio...

Python零基礎入門 基礎(六) 字元編碼

python直譯器在載入 py 檔案中的 時,會對內容進行編碼 預設ascill ascii american standard code for information interchange,美國標準資訊交換 是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8...