编码和解码
编码:将字符转换为对应的二进制序列的过程叫做字符编码。
解码:将二进制序列转换为对应的字符的过程叫做字符解码。
py文件的创建:
文本编辑器在内容没有保存前,内容以编辑器默认编码形式保存在内存中。pycharm默认UTF-8,查看方法:
import sys print(sys.getdefaultencoding())
py文件的编译:
如果我们点击运行按钮或者在命令行运行该文件时,py解释器这个软件就会被调用,打开文件,然后解码存在磁盘上的bytes数据成unicode数据,这个过程和编辑器是一样的,不同的是解释器会再将这些unicode数据翻译成C代码再转成二进制的数据流,最后通过控制操作系统调用cpu来执行这些二进制数据,整个过程才算结束。
#coding:utf8
因为如果py2解释器去执行一个utf8编码的文件,就会以默认地ASCII去解码utf8,一旦程序中有中文,自然就解码错误了,所以我们在文件开头位置声明 #coding:utf8,其实就是告诉解释器,你不要以默认的编码方式去解码这个文件,而是以utf8来解码。而py3的解释器因为默认utf8编码,所以就方便很多了。
字符编码转换