Python中的编码方式
概述
在python中:编码:unicode-->str 解码:str-->Unicode
在python中,编码函数是encode(),解码函数是decode()。
【需要注意的一点是,如果我们调用str.encode(),这里涉及到一个隐士的类型转化,会现将str转化成unicode,才能进行编码,这也是不太容易理解的地方。所以,str.encode()实际上就等价于str.decode(sys.defaultencoding).encode().而sys.defaultencoding一般是ascii,它是不能用来编码中文字符的。】
各种编码方式
【Python中,不论是Python 2.x还是Python 3.x中,总体上说,字符都只有2大类:
一类是通用的Unicode字符;另一类是,(unicode被编码后的),某种编码类型的字符,比如UTF-8,GBK等等类型的字符】
ASCII(American Standard Code forInformation Interchange),是单字节编码,一个字节等于8位二进制数,所以单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下)。
MBCS(Multi-Byte Character Set) ,这一类编码有很多种,其中就有GBK:为了表示其他语言的字符,采用双字节编码,并且兼容ASCII,采用的方式是:如果第一个字节是\x80以下,则仍然表示ASCII字符;而如果是\x80以上,则跟下一个字节一起(共两个字节)表示一个字