先看代码
#!/usr/bin/python
print("你好")
然后执行python xxx.py,提示:SyntaxError: Non-ASCII character ‘\xe4’ in file ./test.py on line 2, but no encoding declared,没有ASCII对应\xe4,也就是中文的不认识;那好,在第二行加上#coding=utf-8,执行脚本,正常输出;python2对于中文需要显示指定编码;
再用python3来执行没有加指定编码代码的脚本,也是正常输入
那么问题来了,为什么呢?
原因
- 因为python3默认采用utf-8编码,所有没问题;而python2默认采用的是ANSCII编码,所以不认识中文;
- 那为什么python不默认用utf-8编码呢?这里是有历史原因的,第一个python编译器是91年诞生的,utf-8是92年才面世的,直到python3才将utf-8作为默认编码
本文探讨了Python2与Python3在处理中文字符时的不同表现。解释了由于编码方式的不同导致的问题及解决方案,并回顾了Python编码从ASCII到UTF-8的历史变迁。

648

被折叠的 条评论
为什么被折叠?



