转载请注明:
仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/
python程序对于unicode码的支持情况不同
python3 支持较好,在文件开头加入如下代码即可工作
1 #-*- coding: utf-8 -*-
简单例子如下:
1 #-*- coding: utf-8 -*- 2 3 print ('Hellow World\n') 4 print ('Hellow Again')
如果不加入上述代码,则会提示存在无法解析的字符的问题
python2 则有缺陷,即使加入了上述代码,中文在cmd输出仍然会出现乱码
例子如下
1 #-*- coding: utf-8 -*- 2 3 print 'Hellow World\n' 4 print 'Hellow Again' 5 print '你好'
结果如图
修正方案:
有3个可行的方案:
- 在文件开头加入
from __future__ import unicode_literals
1 #-*- coding: utf-8 -*- 2 from __future__ import unicode_literals 3 print ('Hellow World\n') 4 print ('Hellow Again') 5 print '你好'
2.在中文字符串前加字母u
#-*- coding: utf-8 -*- print ('Hellow World\n') print ('Hellow Again') print u'你好'
3. 更加推荐的是如下写法,这种写法修改的更彻底,并且中文字符串前不再需要u,并且能够避免绝大部分编码问题
1 from __future__ import unicode_literals 2 import sys 3 reload(sys) 4 sys.setdefaultencoding('gbk')
代码如何换行?
在需要换行的地方加 \ 然后接着写即可,亲测python2 和python 3均可用
#python 2 print 'Compsed to the IDE, in the cmd, each print funciton will\ 'generate a new line' #python 3 print ('你好\ 呀')