字符编码
一, 计算机基础
1,CPU: 控制程序的运行 (从内存中取出文本编辑器的数据读入内存)
2, 内存: 运行程序 (经 CPU 操作后, 内存中含有文本编辑器的数据)
3, 硬盘: 存储数据 (文本编辑器)
二, 文本编辑器存取文件上的原理
打开编辑器就打开了启动了一个进程, 是在内存中的, 所以, 用编辑器编写的内容也都是存放与内存中的, 断电后数据丢失.
要想永久保存, 需要点击保存按钮: 编辑器把内存的数据刷到了硬盘上.
在我们编写一个 py 文件 (没有执行), 跟编写其他文件没有任何区别, 都只是在编写一堆字符而已.
三, python 解释器执行 py 文件的原理
第一阶段: Python 解释器启动, 此时就相当于启动了一个文本编辑器
第二阶段: Python 解释器相当于文本编辑器, 去打开 test.py 文件, 从硬盘上将 test.py 的文件内容读入到内存中 (小复习: pyhon 的解释性, 决定了解释器只关心文件内容, 不关心文件后缀名).
第三阶段: Python 解释器解释执行刚刚加载到内存中 test.py 的代码 ( ps: 在该阶段, 即真正执行代码时, 才会识别 Python 的语法, 执行文件内代码, 当执行到 name="egon" 时, 会开辟内存空间存放字符串 "egon").
- python2:
- # coding:gbk
- a = '中文' # 用 gbk 编码存储了这堆 0 和 1
- a = u'中文' # 用 unicode 编码存储了这堆 0 和 1 #加 "u" 是为了告诉解释器文件类型是 utf8, 不然就会乱码
- print(a)
- python3:
- # coding:gbk
- a = '中文' # 用 unicode 编码存储了这堆 0 和 1
- print(a) # 010101010
- Unicode----->encode(编码)-------->gbk
- Unicode<--------decode(解码)<----------gbk
来源: http://www.bubuko.com/infodetail-3149874.html