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 ...
随机推荐
- MinGW安装和使用
P.S.安装MinGW主要是code blocks 编译出现了这个问题: ERROR: You need to specify a debugger program in the debuggers' ...
- OSI模型和TCP/IP协议族(三)
TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前T ...
- linux的学习之路--(五)bash及其特性
操作系统组成作用shell是离用户最近的程序 shell:外壳 两类 GUI:Gnome,KDE,Xfce CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已) 进程:在每个进 ...
- 【django之分页器】
一.什么是分页功能 二.Django的分页器(paginator) 语法: paginator = Paginator(book_list, 8) #8条一页print("count:&qu ...
- 【吐槽向】iOS 中的仿射变换
什么是仿射变换矩阵 CGAffineTransform 实际上就是一个用于绘制 2D 图形的的仿射变换矩阵.仿射变换矩阵用于旋转.缩放.平移.扭曲(skew)在图形上下文中绘制的对象.CGAffine ...
- Linux-CentOS7下安装mysql5.6常见问题解决!
第一次写博客,写的不好请大家多见谅!有遇到问题可以评论到下方,我会抽空帮大家解决!! 下载MySQL-5.6.tar安装包(包含server,client等) 首先用root用户将MySQL-5.6. ...
- Oracle查询优化改写--------------------操作多个表
一.union all与空字符串 二.组合相关行 三.in .exists.inter join .left join .right join .full join 之间的区别 'inner joi ...
- Be Better , Be Better
Be Better! 这不是一道题,只是我的flag.初三寒假,一个本应该对着计算机翻天覆雨的假期,我在鬼班撸高中课...其实感触是从初中课得来的.有些事,以前我说是我不懂,现在我不说不是我不懂.Ju ...
- http的CA证书安装(也就是https)
近几年随着安全意识的提高,https流行起来,很多小伙伴不太了解https是什么,其实http和https并没有区别,简单的来说,https就是将http通信进行了加密和解密的一个过程.加上谷歌浏览器 ...
- New UWP Community Toolkit - Carousel
概述 New UWP Community Toolkit V2.2.0 的版本发布日志中提到了 Carousel 的调整,本篇我们结合代码详细讲解 Carousel 的实现. Carousel 是 ...