python编码问题

读过阮一峰的这篇文章后,本以为已经理解了编码问题,直到。。。
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

python2 的默认编码是ascii,而windows的默认编码是简体中文GBK。

python2默认编码.PNG

新建一个测试文件
s = '中文'
print s
保存为test.py 在CMD中执行,报错

python编码报错.PNG

变量'中文'以GBK码保存,而python在执行的时候以ASCII解码,所以报错。
似乎一切正常。
但是如果直接在python shell 中执行的话,如图:

python shell.PNG

变量s为’中文',在内存中确实是按GBK编码‘\xd6\xd0\xce\xc4',但是print输出的时候却可以正常解码输出。这是为什么?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 几个基本概念 bit二进制位, 是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只...
    西电大侠阅读 3,601评论 1 8
  • 什么是编码 任何一种语言、文字、符号等等,计算都是将其以一种类似字典的形式存起来的,比如最早的计算机系统将英文文字...
    随风化作雨阅读 1,594评论 1 2
  • 字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...
    兰山小亭阅读 8,649评论 0 13
  • 继上一篇文章字符集和编码详解总结了常见字符编码后,这篇文章会对python中常见的编码问题进行分析和总结。由于py...
    __七把刀__阅读 2,913评论 0 6
  • 写python的过程中经常出现各种蛋疼的编码问题,于是通过上网查资料,自己做实验,想彻底搞清楚这个问题。 编码和解...
    allen哦阅读 532评论 0 1