python 编码


错误信息:

UnicodeEncodeError: 'ascii' codec can't encode characters in
position 0-1: ordinal not in range(128) 

开始分析:
相同编码比较:

>>> a="你好"
>>> b="你好"
>>> print a==b 
True

不同编码的比较:

>>> a="你好"
>>> b=u"你好"
>>> print a==b
__main__:1: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal False

decode的用法

 >>> print a.decode('utf-8')==b
 >>> print a.decode('utf-8')==b
>>> print a.decode('utf-8')==b

评论关闭