python之路--day6--字符编码
一.知识储备
cpu--控制和运算
内存--暂时存储cpu需要的数据
硬盘--永久保存数据
2.文本编辑器的原理存储原理
1,启动文本编辑器
2,在编辑器上输入内容---此时输入内容还在内存上
3,保存到硬盘
结论:在编写py程序的时候,没有语法的限制,编辑的结果和编写
一个普通的文本文件没有任何区别,只有把py程序交给python解释器解释
并执行的第三个阶段才有意义
3.python解释器执行python程序的原理
python3 test.py
第一阶段:先启动python解释器这个软件
第二阶段:把test.py文件的内容读入内存
第三阶段:解释执行,识别语法
4.文本编辑器读取原理
1.编辑器向操作系统发送请求
2.操作系统将数据从硬盘中取出,并在内存中加载
3.应用程序通过操作系统将内容打印出来 二.什么是字符编码
字符编码就是把人类的语言翻译为计算机能够理解的二进制的过程
翻译的过程遵循的原则--字符编码表(字符与二进制数一一对应的关系) 字符编码的发展:
ASCII 码:只能表示英文字符,一个英文字符占用1字节
GBK:中文定制的编码表,2个字节表示中文,1个字节表示英文
unicode:(内存中固定的编码)--2个字节表示一个字符
uft-8:unicode的升级版本,解决了unicode浪费内存空间的问题
1字节表示一个英文字符,3字节表示一个中文字符 三.保证不乱码的核心:
文件以什么编码存在,就必须以什么编码读取
强调:我们可以控制的只是存在硬盘上的编码 python3解释器:默认utf——8编码
python2解释器:默认ascii编码 文件头的作用:
#coding:utf-8 告诉解释器,使用我指定的字符编码 四.执行python程序第三个阶段发生的事
会识别python语法,定义的字符串类型涉及到字符编码的概念 例子:
x='上' #x=str('上')
python2:
字符串分为两种形式
x='上' #python2的str类型会按照文件头指定的编码来存'上' python3:
str:默认被存为unicode 五,转换 unicode和其他编码之间的转换 unicode---编码encode---》utf-8
utf-8---解码decode---》unicode
python3中str是以unicode编码形式存放的
x='你好'
x.encode('utf-8') ----> bytes类型
bytes.decode('utf-8')------------->str(unicode)字符串类型
3、bytes类型的用途:
1、存放到文件中
2、基于网络传输
python之路--day6--字符编码的更多相关文章
- 小白的Python之路 day1 字符编码
字符编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interc ...
- Python之路 day2 字符编码及转换
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import sys print("sys default encodin ...
- 小白的Python之路 day2 字符编码和转码
字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...
- python全栈开发-Day6 字符编码
python全栈开发-Day6 字符编码 一 .了解字符编码的知识储备 一 .计算机基础知识 二 .文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启 ...
- (转)Python之路,Day6 - 面向对象学习
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...
- python之旅:字符编码
一 了解字符编码的知识储备 一 计算机基础知识 知识储备:cpu.内存.硬盘 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在 ...
- python基础——6(字符编码,文件操作)
今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 ***** 2.字符与字节: 字符占多少字节,字符串转化 *** 3.文件操作: 操作硬盘中的一块区域:读写操作 ...
- python文件操作:字符编码与文件处理
一.字符编码 二.文件处理 一.字符编码 储备知识点: 1. 计算机系统分为三层: 应用程序 操作系统 计算机硬件 2. 运行python程序的三个步骤 1. 先启动python解释器 2. 再将py ...
- python学习之路_字符编码
字符编码及python中的转码问题,这篇博客讲的比较清楚,python 之路,致那些年,我们依然没搞明白的编码
- python标准库之字符编码详解
codesc官方地址:https://docs.python.org/2/library/codecs.html 相关帮助:http://www.cnblogs.com/huxi/archive/20 ...
随机推荐
- 11.python线程
基本概念 1.进程 定义: 进程就是一个程序在一个数据集上的一次动态执行过程. 组成: 进程一般由程序.数据集.进程控制块三部分组成. 程序: 我们编写的程序用来描述进程要完成哪些功能 ...
- C# Redis实战(七)
七.修改数据 在上一篇 C# Redis实战(六)中介绍了如何查询Redis中数据,本篇将介绍如何修改Redis中相关数据.大家都知道Redis是key-value型存储系统,所以应该可以修改key, ...
- js改变盒子大小(上下左右)分析
js改变盒子大小 知识点 三个mouse事件:mousedown mousemove mouseup css的定位和cursor 思路 先解决单边问题识别范围,得到所选区域 event. 根据距离,判 ...
- FJUT2017寒假训练二题解
A题 题意:让你找出唯一的一个四位数,满足对话时的要求. 思路:因为是4位数,可以直接从1000-9999遍历一遍,判断是否有唯一的数能满足所有条件,如果不是唯一的或者没有满足条件的数就输出Not s ...
- [转]svn diff 替代工具
svn diff 替代工具 http://blog.csdn.net/fudesign2008/article/details/8168811 一. 使用vimdiff替换svn diff: 对于多数 ...
- aspnetcore.webapi实践k8s健康探测机制 - kubernetes
1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...
- 使用Quartz 2D擦除图片
Quartz 2D 是一个强大的二位图像绘制引擎,在开发中如果遇到需要高度自定义的控件,我们就可能需要用Core Graphics进行绘制. 这几天一同事开发一个聊天中的一个子模块,A 画一幅图,然后 ...
- JavaScript对象入门指南
前言 不少开发对JavaScript实现面向对象编程存在一知半解,并且不少的在项目实践中写的都是面向过程编程的代码,因此,希望能从零入手介绍面向对象的一些概念到实现简单的面向对象的例子让大家包括我自己 ...
- 打印二叉堆(Java实现)
打印二叉堆:利用层级关系 我这里是先将堆排序,然后在sort里执行了打印堆的方法printAsTree() public class MaxHeap<T extends Comparable&l ...
- 剑指Offer-对称的二叉树
package Tree; /** * 对称的二叉树 * 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. */ public class ...