python中的編碼是採用unicode編碼的,在做編譯轉換時,需要使用unicode作為中間編碼:
情況一:編碼一-->unicode編碼
將其他編碼的字串解碼:decode成unicode;
a.decode(『gb2312』)
或者:
unicode.unicode(a,'gb2312')
情況二:
unicode編碼-->編碼一
從unicode編碼成另一種編碼就使用encode!
a.encode("gb2312")
情況三:
編碼一-->編碼二:就是兩種非unicode編碼之間的轉化呢?
編碼一----->解碼為unicode----->編碼成編碼二
unicode.unicode(a,'gb2312').encode("ascii")
用法:str.decode("ascii"):將ascii編碼的字串str解碼稱為unicode編碼
str.encode("ascii"),將unicode 編碼轉化成ascii編碼!
在編碼之前,首先應該知道的是,原始字串的編碼格式:
在python中,可以通過第三方庫chardet進行查詢:
ascii編碼,就是unicode乙個子集麼?因為我發現,乙個ascii編碼的字串,判斷其是不是unicode編碼的時候,結果返回的是true!(這幾個的關係,不太懂!)
如何判斷乙個字串是不是unicode編碼呢?
********************==utf-8的情況***********************************===
如果有乙個test = "釣魚島是中國的"!
上述情況,如果在utf-8檔案中,它就是utf-8編碼,如果在gb2312檔案中,那就是gb2312編碼,那如果需要在這兩個編碼之間轉化呢?首先進行解碼(decode),稱為unicode編碼,再進行編碼encode,如果乙個編碼已經是unicode編碼了,如果再次對其進行編碼將會出錯。
如果指定檔案的編碼方式,那麼就按照系統預設的編碼方式,按照如下的語句查詢系統的預設編碼方式
上圖是python2.7.3的預設編碼方式,是python3的編碼方式
python中decode和encode的區別
coding utf 8 import sys 首先要搞清楚,字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode的作用...
python中decode和encode的區別
import sys 字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode的作用是將其他編碼的字串轉換成unicode編...
Python中的decode解碼和encode編碼
decode是解碼 讀取文字或網頁時的過程是decode解碼,需要依據文字或網頁的編碼格式來指定解碼格式。它是將不是unicode的格式解碼 換 成unicode格式讀取到記憶體中,使用時必須知道物件源格式。如str1.decode gb2312 表示將gb2312編碼的字串轉換成unicode編碼...