• Python中的Unicode和utf-8

上一篇提過(guò)了字符集的歷史其中簡(jiǎn)單的講解了Unicode與utf-8的關(guān)系,簡(jiǎn)單的總結(jié)一下:

 

utf-8和utf-16 、utf-32是一類(lèi),實(shí)現(xiàn)的功能是一樣的,只是utf-8使用的最為廣泛,但是Unicode和utf-8并不是同一類(lèi),Unicode是表現(xiàn)形式,utf-8是存儲(chǔ)形式

  • unicode是表現(xiàn)形式(utf-8可以解碼成unicode)

  • utf-8 、utf-16 、utf-32 是存儲(chǔ)形式(unicode可以編碼成utf-8)

 

理解:存儲(chǔ)的時(shí)候需要編碼成utf-8,表現(xiàn)的時(shí)候是一個(gè)utf-8需要解碼成為Unicode,換句話(huà)說(shuō),在代碼中處理的是Unicode,在文件中存儲(chǔ)的時(shí)候是以u(píng)tf-8的形式存儲(chǔ)。

 

 

  • 不使用Unicode的形式

 

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

In [1]: name = '張三'
 In [2]: print name     
張三
 
In [3]: name
Out[3]: '\xe5\xbc\xa0\xe4\xb8\x89'     #utf8編碼,存儲(chǔ)形式 In [4]: len(name)
Out[4]: 6
 In&n