day008 字符编码之 字符编码 、Python2和Python3字符编码的区别
计算机基础(掌握)
启动应用程序的流程
- 双击qq
- 操作系统接受指令然后把该操作转化为0和1发送给CPU
- CPU接受指令然后把指令发送给内存
- 内存接受指令把指令发送给硬盘获取数据
- qq在内存中运行

文本编辑器存取文件的原理
- 在文本编辑器中按下键盘中j的时候
- 文本编辑器和操作系统交互,把这个按下j的指令转化为0和1
- 操作系统发送治指令给CPU
- CPU把这个0和1的指令 转化为 j
- 然后再由显示器显示
期间发生的过程,我们称之为字符编码
Python解释器的原理
- 启动python解释器,python解释器相当于一个文本编辑器
- 打开文件,读出文件的内容,pthon解释器相当于一个文本编辑器。
- python解释器解释
name='nick',然后才有语法的概念
Python解释器和文本编辑器的区别
- 都能干什么:
- 把硬盘中躺着的数据读入到内存中,并显示
- 不同:
- python解释器还会多执行解释的步骤
字符编码发生在哪三个阶段
- 存 内存到硬盘
- 取 硬盘到内存
- python3解释器解释
字符编码的发展史与分类
- 电脑是美国创造出来的,电脑只认识0和1,但是美国人想输入一个a字符进去,所以必须得建立一套字符编码,让00001111表示成a,建立一套ascii码表
- 但是其他国家也开始使用电脑了,ascii码表不能满足需求了,所以各个国家建立了自己字符编码表
- 中国的是gbk,日本的是ift,韩国的是uck,所以各个国家的码农都用自己国家的编码表写了各种各样的代码
- 突然某个韩国人想说某个日本人的代码是自己写的,但是吧日本人的代码放到自己电脑上运行会报错,以下就被揭穿了,所以这个韩国人站出来说,我要弄一套编码表,这个编码表不仅能兼容日本,还能兼容世界的,然后最终没能实现
- 突然有个超级英雄站出来说,我来帮你把,然后unicode横空出世,unicode能认识所有国家的字符,
- 然后可以使用unicode的编码保存到硬盘中去,但是发现unicode编码太浪费内存了,所以做出了一套精简的utf8编码
- 等哪一天硬盘中躺着的全是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转换,则终端无论是什么形式的编码格式,都能够识别并打印.
day008 字符编码之 字符编码 、Python2和Python3字符编码的区别的更多相关文章
- Python2与Python3字符编码的区别
目录 字符编码应用之Python(掌握) 执行Python程序的三个阶段 Python2与Python3字符串类型的区别(了解) Python2 str类型 Unicode类型 Python3 字符编 ...
- python2与python3 字符问题以及 字符编码 内容总结
python2与python3默认编码: python2:gbk print( u'上' ) 操作系统也是 gbk python3:unicode p ...
- 字符编码 + python2和python3的编码区别(day08整理)
目录 昨日回顾 二十三.元组内置方法 二十四.散列表 二十五.字典内置方法 二十六.集合内置方法 二十七.深浅拷贝 拷贝 浅拷贝 深拷贝 今日内容 二十八.字符编码 1.文本编辑器存储信息的过程 2. ...
- Python2和Python3的一些语法区别
Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is versi ...
- python2和python3中range的区别
参考自 python2和python3中的range区别 - CSDN博客 http://blog.csdn.net/xiexingshishu/article/details/48581379 py ...
- Python2 与 Python3 的编码对比
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8 ...
- python2和python3的编码问题
python2中有两种类型 str字符串和unicode字符串 python3则改成了 bytes和str字符串 在python2中‘xxx’和b‘xxx’都是str字符串,u‘xxx’是unicod ...
- Python2与python3中字符串的区别
Python2 在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是 ...
- python2和python3中的range区别
python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的 ...
随机推荐
- 洛谷——P2871 [USACO07DEC]手链Charm Bracelet
https://www.luogu.org/problem/show?pid=2871 题目描述 Bessie has gone to the mall's jewelry store and spi ...
- sql server使用杂记(二)
存储过程CREATE PROCEDURE [dbo].[getprofitandloss]@agentNo varchar(10),@o0 varchar(30),@source varchar(30 ...
- Androd自己定义控件(三)飞翔的小火箭
在前面的自己定义控件概述中已经跟大家分享了Android开发其中自己定义控件的种类. 今天跟大家分享一个非主流的组合控件. 我们在开发其中,难免须要在不同的场合中反复使用一些控件的组合.而Java的最 ...
- Javaproject集成log4J 1.x
log4j是Java开发平台中的日志管理工具,是Apache基金会的一个开源项目.它的作用能够简单的理解为在开发过程中替代system.out的功能. 1.在project中集成log4j: (1)在 ...
- Rust 中项目构建管理工具 Cargo简单介绍
cargo是Rust内置的项目管理工具.用于Rust 项目的创建.编译.执行,同一时候对项目的依赖进行管理,自己主动推断使用的第三方依赖库,进行下载和版本号升级. 一.查看 cargo 版本号 安装R ...
- hdu 1010 Tempter of the Bone (奇偶性剪枝)
题意:有一副二维地图'S'为起点,'D'为终点,'.'是可以行走的,'X'是不能行走的.问能否只走T步从S走到D? 题解:最容易想到的就是DFS暴力搜索,,但是会超时...=_=... 所以,,要有其 ...
- nyoj--1100--WAJUEJI which home strong!(bfs)
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是什么 ...
- Python 下的数据结构实现
既然采用了 Python 编程语言实现数据结构,就要充分发挥 Python 语言的语法特性. 参考<Python 算法教程><数据结构与算法 -- Python 语言描述>: ...
- B1816 扑克牌 二分答案 + 贪心
这个题我一开始想到了二分答案,但是去写了另一个算法,用优先队列直接模拟,最后GG了...因为我没考虑每个套牌只能有一个joker...尴尬. 后来二分答案,然后暴力验证就行了. 题干: Descrip ...
- Palindrome(dp)
http://poj.org/problem?id=1159 题意:给定一个字符,问最少插入多少字符,使该字符串变成回文字符串. 思路:设原字符串序列为X,其逆字符串为Y,则最少插入的字符数=leng ...