为什么Python默认为ASCII编码?

时间:2016-09-09 18:01:59

标签: python utf-8 character-encoding ascii

由于默认的ASCII编码,我在Python中遇到了很多错误。我总是要记得把它切换到utf8

我想知道,默认的ASCII编码有什么理由或好处吗?它似乎严格比utf8更糟糕,并导致恼人的错误。我是否因为总是切换到utf8而错过了什么?

1 个答案:

答案 0 :(得分:4)

因为在UTF-8无处不在之前构建了Python 2 Unicode(早在1999-2000)。另一方面,几乎所有使用8位编解码器的目标平台都能理解ASCII。

如果你看一下Wikipedia UTF-8 adoption graph,你会发现UTF-8直到2006年才真正流行起来:

UTF-8 growth graph from Wikipedia

只有使用Python 3才有可能更改此默认值;隐式编码和解码消失了,默认的源代码编码已经改为UTF-8(打印的默认值,文件I / O和文件系统名称与系统有关,就像在Python 2中一样)。