常见的编码
ASCII: 美国人发明的,只编码英文字母和符号,1个字节。
GB2312: 中国人发明的,增加了中文汉字和符号,2个字节。
Unicode: 为了把所有语言都统一到一套编码里,一般是2个字节,生僻字4个字节。
UTF-8: 为了节省英文字符内存空间,UTF-8可变长编码,常用的英文字母被编码成1个字节,汉字通常是3个字节,生僻的字符编码成4-6个字节。
1 >>> S = '中文'
2 >>> print type(S), len(S)
3 4
4
5 >>> unicodeS = u'中文'
6 >>> print type(unicodeS), len(unicodeS)
7 2
8
9 >>> utfS = u'中文'.encode('utf-8')
10 >>> print type(utfS), len(utfS)
11 6
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码,这样可以节省很多存储空间。
其中,python2和python3系统默认编码分别是ascii和utf-8,以python2.7为例:
1 &