037 Python2和Python3字符编码的区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了037 Python2和Python3字符编码的区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1340字,纯文字阅读大概需要2分钟。
内容图文
Python2 和 Python3字符编码的区别
1.python解释器运行代码的流程
1.启动python解释器(相当于文本编辑器)
2.打开文件,从硬盘把文件的内容读取到内存(涉及字符编码)
3.解释从硬盘中获取的内容(就会生成变量就开辟内存空间存放变量,把变量存放在内存中,涉及字符编码)
python2默认用的是ascii读取字符,python3默认是utf8读取字符
2.python2的运行流程
unicode + 指定的coding编码(str类型)
# coding:gbk
a = '中文' # 用gbk编码存储了这堆0和1
a = u'中文' # 用unicode编码存储了这堆0和1
print(a)
终端是一个文本编辑器,会有默认编码.
假设终端的默认编码是gbk , 认识 gbk编码的变量
假设终端的默认编码是utf8, 不认识 gbk编码的变量
3.python3的运行流程
我们看到的其实是unicode
但是终端帮你把这个unicode的0和1做一个转换,从unicode转换成了终端能够识别的编码格式,然后变成中文
# coding:gbk
a = '中文' # 用unicode编码存储了这堆0和1
print(a) # 010101010
假设终端的默认编码是gbk , 认识 unicode编码的变量
假设终端的默认编码是utf8,认识 unicode编码的变量
4.区别
在第三步的时候python2和python3有区别
- python2
会用unicode编码存放变量; 还会用文件默认的编码存放变量
假设文件默认的编码是gbk,生成的变量就会用gbk形式存储变量,终端默认编码也是gbk,没有问题
假设文件默认的编码是gbk,生成的变量就会用gbk形式存储变量,终端默认编码也是utf8,有问题 *
- python3
就用unicode的编码存放变量 a = 1当我们打印a的时候,本来应该打印出0和1,但是终端会按照他的编码规则吧0和1转成人类认识的字符#
用什么编码存,就用什么编码取
内容总结
以上是互联网集市为您收集整理的037 Python2和Python3字符编码的区别全部内容,希望文章能够帮你解决037 Python2和Python3字符编码的区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。