Python3 x編碼問題

2021-08-20 08:34:00 字數 3252 閱讀 6317

1.記事本的ansi編碼為系統本地編碼,我的是gbk

open()函式的encoding引數預設是本地編碼,也就是gbk,所以直接讀取ansi編碼的記事本檔案是木有問題的。

怎麼檢視系統本地編碼?

在cmd下輸入: chcp

從下表可以看出,936對應gbk編碼

下表列出了所有支援的**頁及其國家(地區

)或者語言:

**頁國家(

地區)或語言

437          美國

708         

阿拉伯文

(asmo 708)

720         

阿拉伯文

(dos)

850         

多語言(

拉丁文i)

852         

中歐(dos) -

斯拉夫語

(拉丁文

ii)

855         

西里爾文(俄語

) 857         

土耳其語

860         

葡萄牙語

861         

冰島語

862         

希伯來文

(dos)

863         

加拿大- 法語

865         

日耳曼語

866         

俄語-

西里爾文

(dos)

869         

現代希臘語

874         

泰文(windows)

932         

日文(shift-jis)

936         

中國-

簡體中文

(gb2312)

949          韓文

950         

正體中文

(big5)

1200        unicode       

1201        unicode (big-endian)

1250        

中歐(windows)

1251        

西里爾文

(windows)

1252        

西歐(windows)

1253        

希臘文(windows)

1254        

土耳其文

(windows)

1255        

希伯來文

(windows)

1256        

阿拉伯文

(windows)

1257        

波羅的海文

(windows)

1258        

越南文(windows)

20866       

西里爾文

(koi8-r)

21866       

西里爾文

(koi8-u)

28592       

中歐(iso)

28593       

拉丁文3 (iso)

28594       

波羅的海文

(iso)

28595       

西里爾文

(iso)

28596       

阿拉伯文

(iso)

28597       

希臘文(iso)

28598       

希伯來文

(iso-visual)

38598       

希伯來文

(iso-logical)

50000       

使用者定義的

50001       

自動選擇

50220       

日文(jis)

50221       

日文(jis-

允許乙個位元組的片假名)

50222       

日文(jis-

允許乙個位元組的片假名

- so/si)

50225       

韓文(iso)

50932        日文(

自動選擇)

50949        韓文(

自動選擇)

51932       

日文(euc)

51949       

韓文(euc)

52936       

簡體中文

(hz)

65000        unicode(utf-7)

65001       unicode (utf-8)

2.如果讀取的是utf-8,我們需要在讀檔案的時候指定編碼方式:

或者在指令碼第一行加入,

#encoding="utf-8"
3. python3 裡只有unicode編碼格式的位元組物件能成為str。其他編碼格式的是bytes,如:gbk、utf-8………………

str.encode(編碼格式) --> bytes

就是從 unicode 轉換成 指定編碼格式 的bytes

bytes.decode(編碼格式) --> str

就是從 指定編碼格式的bytes 轉換成 unicode 的str

print('你好')

'你好'已經是 str了,不必轉成bytes,直接輸出就行。

Python 內建函式(Python 3 x)

1 type obj 返回變數型別 2 isinstance object,class or type or tuple 測試物件是否為指定型別的例項 4 range start,end step 返回乙個 start,end 內的 range 物件,start 預設為 0,step 預設為 1 5...

python3記憶體快取 python 3 x

我試圖通過telnet 使用控制台伺服器控制台 到cisco路由器,執行一些show命令,並將它們的輸出儲存在變數中。下面是簡單的指令碼的工作原理 在執行指令碼之前已經登入到路由器 在實際使用案例中不是很有用 import telnetlib import datetime import getpa...

Python 3 X重新載入模組

為防止兩個模組互相匯入的問題,python預設所有的模組都只匯入一次,如果需要重新匯入模組,python2.7可以直接用reload python3.x可以用下面幾種方法 方法一 基本方法 from imp import reload reload module 方法二 按照套路,可以這樣 impo...