py9.字符编码

文章目录

      • 字符编码
        • 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进行处理,非常感谢!

上一篇 2022年2月7日
下一篇 2022年2月7日

相关推荐