Python print编码转变默认编码

cakecc00 2010-03-11

Python print编码有很多的应用范围,在这里我们先来看看如何进行默认编码转变成为系统编码。希望大家有所收获。什么情况用encode,什么情况又是decode呢,刚开始总是被搞昏。

其实各种本地字符集的英文名是Coded Character Set,要转换为Coded,肯定是要encode了,同样,从里面解出来也应该叫decode……

decode就是把其他编码转换为unicode,等同于unicode函数;encode就是把unicode编码的字符串转换为特定编码。在pyshell里继续:

a是Str类型的,所以再用encode会报错。用print输出时会调用默认编码转换为系统编码?

Python print编码

>>> a.decode("gb2312")   


u'\u6211'   



>>> print a.decode("gb2312")   




>>> a.encode("gb2312")   



Traceback (most recent call last):   



File "<input>", line 1, in ?   



UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in 
position 0: ordinal not in range(128)   

b是unicode类型,打印时需要先encode(编码)成系统编码

Python 代码

相关推荐