首页 技术 正文
技术 2022年11月15日
0 收藏 382 点赞 5,004 浏览 1787 个字

计算机基础(掌握)

启动应用程序的流程

  1. 双击qq
  2. 操作系统接受指令然后把该操作转化为0和1发送给CPU
  3. CPU接受指令然后把指令发送给内存
  4. 内存接受指令把指令发送给硬盘获取数据
  5. qq在内存中运行

day008 字符编码之 字符编码 、Python2和Python3字符编码的区别

文本编辑器存取文件的原理

  1. 在文本编辑器中按下键盘中j的时候
  2. 文本编辑器和操作系统交互,把这个按下j的指令转化为0和1
  3. 操作系统发送治指令给CPU
  4. CPU把这个0和1的指令 转化为 j
  5. 然后再由显示器显示

期间发生的过程,我们称之为字符编码

Python解释器的原理

  1. 启动python解释器,python解释器相当于一个文本编辑器
  2. 打开文件,读出文件的内容,pthon解释器相当于一个文本编辑器。
  3. python解释器解释name='nick',然后才有语法的概念

Python解释器和文本编辑器的区别

  1. 都能干什么:

    1. 把硬盘中躺着的数据读入到内存中,并显示
  2. 不同:
    1. python解释器还会多执行解释的步骤

字符编码发生在哪三个阶段

  1. 存 内存到硬盘
  2. 取 硬盘到内存
  3. python3解释器解释

字符编码的发展史与分类

  1. 电脑是美国创造出来的,电脑只认识0和1,但是美国人想输入一个a字符进去,所以必须得建立一套字符编码,让00001111表示成a,建立一套ascii码表
  2. 但是其他国家也开始使用电脑了,ascii码表不能满足需求了,所以各个国家建立了自己字符编码表
  3. 中国的是gbk,日本的是ift,韩国的是uck,所以各个国家的码农都用自己国家的编码表写了各种各样的代码
  4. 突然某个韩国人想说某个日本人的代码是自己写的,但是吧日本人的代码放到自己电脑上运行会报错,以下就被揭穿了,所以这个韩国人站出来说,我要弄一套编码表,这个编码表不仅能兼容日本,还能兼容世界的,然后最终没能实现
  5. 突然有个超级英雄站出来说,我来帮你把,然后unicode横空出世,unicode能认识所有国家的字符,
  6. 然后可以使用unicode的编码保存到硬盘中去,但是发现unicode编码太浪费内存了,所以做出了一套精简的utf8编码
  7. 等哪一天硬盘中躺着的全是utf8的编码的代码,那么unicode就下岗了

==存的时候用什么编码,取得时候用什么编码== 必考

内存中的编码格式统一都是unicode

从内存到硬盘 的过程,即unicode –> gbk 称为 编码 encode

从硬盘到内存 的过程,即gbk –> unicode 称为 解码 decode

Python2和Python3字符编码的区别

Python2(了解)

解释语法的时候,生成变量时会把这个字符丢入内存,这个时候会有两种情况,一种是str编码,一种是unicode编码

str

直接编码成gbk的形式

unicode

直接编码成unicode的形式

Python3(掌握)

当你打印的时候,他会自动把’上’的unicode的编码010101010110101011010101101010转成终端的编码

pycharm 右下角控制的是你写入的代码字符以什么编码格式保存

coding: utf-8 控制的是Python3作为文本编辑的时候以什么编码格式读取文本内容,python3默认是utf-8的形式读取字符

python解释器解释语法

解释定义变量的语法,会新开辟一块内存空间放入这个变量,然后这个变量在python3中以unicode的形式存储,如字符x = '中',被python3解释后再内存中会变成x=1010101010101100.理论上print(x)相当于输出1010101010101100,但是这个1010101010101100对于程序员来讲看不懂,所以python3创始人龟叔做了这个操作-把1010101010101100编码按终端的编码格式输出编码后的结果,如.

解释定义变量的语法,会新开辟一块内存空间放入这个变量,然后假设这个变量在python3中以utf-8的形式存储,如字符x = '中',被python3解释后再内存中会变成x=000001101010.理论上print(x)相当于输出000001101010,但是这个000001101010对于程序员来讲看不懂,所以python3创始人龟叔做了这个操作-把000001101010编码按终端的编码格式输出编码后的结果,如.如果终端的编码为gbk,终端无法识别000001101010.所以新开辟空间放入变量的时候,就用unicode转换,则终端无论是什么形式的编码格式,都能够识别并打印.

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,580
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918