字符编码 python2与python3的区别
1|01. 字符编码
字符:就是存储了信息的东西
键盘发送等等是电流——》主机(内存)接收到电流(当做010101011101)——》显示屏 接收电流 (当做010101010——》键盘)
2|02. 文本编辑器存储信息的过程
-
文本编辑器——》写文本 ——》存储信息
-
显示器(内存)——》(转换)硬盘
3|03. 编码:
3|11. 编码的历史
美国:ASCII
中国:gb2312
等等。。。 但这样会妨碍信息文化的交流
然后出现了Unicode编码(一种对应关系)
Unicode可以认识万国编码
现在所有的电脑都是这样的:内存中用Unicode读取硬盘内容,存用utf8存(硬盘)。
内存中不用utf8,是因为utf8和其他编码没有转换关系
注意:虽然说utf是为了使用更少的空间而使用的,但那只是相对于unicode编码来说,如果已经知道是汉字,则使用GB2312/GBK无疑是 最节省的。不过另一方面,值得说明的是,虽然utf-8编码对汉字使用3个字节,但即使对于汉字网页,utf-8编码也会比unicode编码节省,因为网页中包 含了很多的英文字符。
3|22. gb2312和gbk的区别
gb2312 只支持常用的字词
gbk 支持几乎全部
windows系统的记事本默认是 gbk编码(未来可能会变成utf8的编码),除此之外都是 utf8
3|33. 编码和解码
Unicode编码——》(编码)utf8 从内存到硬盘
utf8 ——》(解码)Unicode 从硬盘到内存
4|04. python解释器 解释代码的流程
4|11. 读取文本到解释器
python2默认是使用ASCII编码读取
python3默认使用 utf8编码读取
(当有coding头时,他们都使用coding中设定的编码进行读取)
4|22. 识别代码(检查语法问题)
4|33. 往终端打印
存储变量:
- python2中存储变量用Unicode/coding指定的编码存储变量
print u'中国' #表示用unicode存储变量
- python3中默认使用Unicode存储变量
假设1:python2用coding指定的gbk存储变量,终端支持的编码是utf8,打印结果:乱码
假设2:python2用Unicode(u'中文')来存储变量,终端支持的编码是utf8/gbk,打印结果:都不会乱码
假设3:python3用Unicode存储变量,终端支持的编码是utf8/gbk,打印结果:都不会乱码
__EOF__

本文链接:https://www.cnblogs.com/Mcoming/p/11534558.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!