读过阮一峰的这篇文章后,本以为已经理解了编码问题,直到。。。
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
python2 的默认编码是ascii,而windows的默认编码是简体中文GBK。
新建一个测试文件
s = '中文'
print s
保存为test.py 在CMD中执行,报错
变量'中文'以GBK码保存,而python在执行的时候以ASCII解码,所以报错。
似乎一切正常。
但是如果直接在python shell 中执行的话,如图:
变量s为’中文',在内存中确实是按GBK编码‘\xd6\xd0\xce\xc4',但是print输出的时候却可以正常解码输出。这是为什么?