首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python类型转换有关问题

2014-01-08 
python类型转换问题 import sys print sys.getdefaultencoding()ascii s u我是中国人 su

python类型转换问题


>>> import sys
>>> print sys.getdefaultencoding()
ascii
>>> s = u'我是中国人'
>>> s
u'\xce\xd2\xca\xc7\xd6\xd0\xb9\xfa\xc8\xcb'#这是什么编码?
>>> print s
?òê??D1úè? #乱码?why?
>>> type(s)
<type 'unicode'>
>>> print s.encode('utf-8')
脦脪脢脟脰脨鹿煤脠脣      #乱码?why?
>>> print s.encode('gb2312')

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    print s.encode('gb2312')
UnicodeEncodeError: 'gb2312' codec can't encode character u'\xce' in position 0: illegal multibyte sequence
>>> isinstance(s,unicode)
True
>>> 

想问下,系统既然默认保存是ascii,对ascii进行encode为指定的编码进行输出时,为何会出现乱码啊?
2.print函数输出的话,默认是不是会将ascii转换为哪个编码呀?
3.如何将上面的s正常输出成中文呢?










[解决办法]
http://bugs.python.org/issue15809

热点排行