Python中的Unicode和utf-8
上一篇提過了字符集的歷史其中簡單的講解了Unicode與utf-8的關(guān)系,簡單的總結(jié)一下:
utf-8和utf-16 、utf-32是一類,實現(xiàn)的功能是一樣的,只是utf-8使用的最為廣泛,但是Unicode和utf-8并不是同一類,Unicode是表現(xiàn)形式,utf-8是存儲形式
unicode是表現(xiàn)形式(utf-8可以解碼成unicode)
utf-8 、utf-16 、utf-32 是存儲形式(unicode可以編碼成utf-8)
理解:存儲的時候需要編碼成utf-8,表現(xiàn)的時候是一個utf-8需要解碼成為Unicode,換句話說,在代碼中處理的是Unicode,在文件中存儲的時候是以utf-8的形式存儲。
不使用Unicode的形式
In [1]: name = '張三' In [2]: print name 張三 In [3]: name Out[3]: '\xe5\xbc\xa0\xe4\xb8\x89' #utf8編碼,存儲形式 In [4]: len(name) Out[4]: 6 In&n