编码 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中的字符,那么就可能会出现乱码。

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