python 编码问题

unicode

所有语言的字符都用同一种字符集来表示. 就是unicode.
ASCII占一个字节
UTF-8是针对中文的字符,占2~4个字节

  1. python中的 str和unicode
    str和unicode都是basestring的子类。严格意义上说,str其实是字节串,它是unicode经过编码后的字节组成的序列。对UTF-8编码的str'汉'使用len()函数时,结果是3,因为实际上,UTF-8编码的'汉' == '\xE6\xB1\x89'。str调用encode()方法是错误的,对unicode调用decode()方法也是错误的。
  2. 字符编码声明
    源代码文件中,如果有用到非ASCII字符,则需要在文件头部进行字符编码的声明,如下:
    #-*- coding: UTF-8 -*-                 
    
    实际上Python只检查#、coding和编码字符串,其他的字符都是为了美观加上的.

摘自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html

你可能感兴趣的:(python 编码问题)