文章目录
-
-
- 字符编码
-
- 1 引入
- 2 知识储备
-
- 2.1 三大核心硬件
- 2.3 python解释器执行文件流程
- 2.4 总结
- 3 字符编码介绍
-
- 3.1 什么是字符编码/li>
- 3.2 字符编码表的发展史(了解)
- 3.3 编码与解码
- 3.4 utf-8的由来
- 4 字符编码的应用(重要)
-
- 4.1 python解释器执行文件的前两个阶段
- 4.2 python解释器
- 4.3 字符串encode编码与decode解码的使用
-
字符编码
1 引入
2 知识储备
2.1 三大核心硬件
所有软件都是运行在硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘,我们需要明白三点
图2图3也都是相同的过程,此时无论是存还是取,由于采用的字符编码表一样,所以肯定不会出现乱码问题,但问题是在美国人用的计算机里只能输入英文字符,而在中国人用的计算机里只能输入中文和英文字符…
毫无疑问我们希望计算机允许我们输入的万国字符均可识别,不乱码,而现阶段计算机采用的字符编码表ASCII、gbk、shift_jis都无法识别万国字符,所以我们必须制定一个兼容万国字符的编码表
阶段三:分久必合
Unicode于1990年开始研发,1994年正式公布,具备两大特点:
很多地方或老的系统、应用软件仍会采用各种各样传统的编码,这是历史遗留问题。此处需要强调:
软件是存放于硬盘的,而运行软件是要将软件加载到内存的,面对硬盘中存放的各种传统编码的软件,想让我们的计算机能够将他们全部正常运行而不出现乱码,内存中必须有一种兼容万国的编码,并且该编码需要与其他编码有相对饮的映射/转换关系,这就是Unicode的第二大特点产生的缘由
由内存中的Unicode转换成字符,以及由其他编码转换成Unicode的过程,都称为解码decode
utf-8是针对Unicode的可变长度字符编码:一个英文字符占1bytes,一个中文字符占3bytes,生僻字用更多的bytes存储
Unicode更像是一个过渡版本,我们新开发的软件或文件存入硬盘都采用utf-8格式,等过去几十年,所有老编码的文件都淘汰掉之后,会出现一个令人开心的场景,就是硬盘里放的都是utf-8格式,此时Unicode便可以退出历史舞台,内存里也改用utf-8,天下重新归于统一4 字符编码的应用(重要)
我们学习字符编码就是为了存取字符时不发生乱码问题:
总结(记):
4.1 python解释器执行文件的前两个阶段
–在文件首行写入包含# 在内的以下内容:
coding:当初文件写入硬盘时采用的编码方式解释器会先用默认的编码方式读取文件的首行内容,由于首行是纯英文组成,而任何编码方式都可以识别英文字符
4.2 python解释器
4.3 字符串encode编码与decode解码的使用
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树进阶语法字符编码与解码208684 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!