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...