Python2和Python3編碼的區別

2022-09-16 21:18:20 字數 706 閱讀 5786

python2中有兩種儲存變數的形式,第一種:unicode;第二種:按照coding頭來的。

假設python2用utf8儲存x='中文',當你print(x)的時候,終端接收gbk的變數x,但是windows終端編碼是utf8,會亂碼。

假設python2用unicode儲存,終端接受的是unicode,windows終端編碼是utf8還是gbk重要嗎?不會亂碼。

# coding:gbk

lt1 = '中文' # utf儲存的

# lt1 = ['中文'] # 讓他不用終端的編碼轉化,顯示01010101001

print lt1 # ['\xe4\xb8\xad\xe6\x96\x87']

lt2 = u'中文' # u'中文'讓他變成unicode # 早期用python2定義中文,必須得加上u,讓他變成unicode儲存

# lt2 = [u'中文']

print lt2 # '中文'

python3只有一種儲存變數的形式,unicode。

python3用unicode儲存,終端接收的是unicode,widonws終端編碼是utf還是gbk不重要,不會亂碼

lt1 = '中文'  # == u'中文'(python2)

print(lt1)

python3和python2的區別

1.效能 py3.0執行 pystone benchmark的速度比py2.5慢30 guido認為py3.0有極大的優化空間,在字串和整形操作上可 以取得很好的優化結果。py3.1效能比py2.5慢15 還有很大的提公升空間。2.編碼 py3.x原始碼檔案預設使用utf 8編碼,這就使得以下 是合...

Python2和Python3的比較

python2 python3 print fish print fish unicode 是單獨的 unicode utf 8 字串 b b china byte 和 bytearrays type b type bytes s b.decode 轉化成 string 型別b1 s encode ...

python3和python2的區別

這個星期開始學習python了,因為看的書都是基於python2.x,而且我安裝的是python3.1,所以書上寫的地方好多都不適用於python3.1,特意在google上search了一下3.x和2.x的區別。特此在自己的空間中記錄一下,以備以後查詢方便,也可以分享給想學習python的frie...