編碼 unicode與utf8

在寫程序的時候經常被中文字符的編碼問題所困擾,一會兒什麼unicode,一會兒什麼utf8,以前也不求甚解,幾個函數試一下正常了就了事。今天在郵件列表上看到一個討論,裏面推薦了一篇文章"[All About Python and Unicode](http://www.boodebr.org/main/python/all-about-python-and-unicode )",對unicode的介紹深入淺出,非常不錯。

[unicode](http://www.unicode.org)是一個理想的字符集,包含了世界上所有的文字,這個字符集在不斷的更新中;unicode中的字符有編碼,如03A0代表希臘字母Pi,03A3代表希臘字母Sigma,但unicode字符串在內存中並不保存爲這些字節碼,因爲unicode的編碼長度是不定的,它是個抽象的概念。

unicode字符串的實際編碼方式即具體存在形式由系統決定,常見的有utf8,utf16等等。這幾個概念跟ascii,iso-8859-1,GBK等是相同性質的,區別在於傳統的ascii等編碼方式不能表示unicode中的所有字符。unicode字符串要輸出到屏幕,也需要以一定的編碼方式,如果終端的編碼方式不包含unicode中的字符,那麼就可能會出現亂碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章