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 ...
随机推荐
- 【bzoj2820】GCD
Time Limit: 3000 ms Memory Limit: 256 MB description 神犇GJS虐完数论后给zzHGR出了一个数论题. 给定n,m,求1≤x≤n,1≤y≤m ...
- python数据类型:序列(字符串,元组,列表,字典)
序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...
- 通过银行卡号识别归属银行,php方式
这个例子不是很全,要做到齐全必须使用数据库字典来索引,而且数据量庞大,建议生产使用时限制几大行就行,直接不支持其他小行.此案例抛砖引玉 /** * 银行卡信息识别相关类 * 把bin号转化为长整形,再 ...
- 原生jdbc操作mysql数据库详解
首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...
- 简单了解C语言内嵌汇编
最近看自旋锁的实现,自选锁的循环查找锁的主要实现类似如下,该实现使用到了内嵌的汇编(摘自sanos内核,源代码有2处实现,一处使用intel汇编,是没有问题的,另一处使用内嵌汇编语法,源代码中为cmp ...
- SpringMvc的传递参数方式 -- url / requestMapping
在使用spring的项目中,前台传递参数到后台是经常遇到的事, 我们必须熟练掌握一些常用的参数传递方式和注解的使用,废话少说,直接上正文. 1. @requestMapping: 类级别和方法级别的注 ...
- Maven-03: 优化依赖
已解析依赖: Maven会自动解析项目的直接依赖和传递性依赖,并且根据规则正确判断每个依赖的范围,对于一些依赖冲突,也能进行调节,以确保任何一个构件只有唯一的版本在依赖中存在.在这些工作之后,最后得到 ...
- 不root手机的情况下查看Android数据库
最近写Android的时候发现想要读取数据库很不方便,使用adb工具的方法需要root手机,而华为手机root十分麻烦,需要解除密码,一些品牌手机即使root了也没有sqlite3命令,总之十分麻烦. ...
- Javscript的函数链式调用基础篇
我们都很熟悉jQuery了,只能jQuery中一种非常牛逼的写法叫链式操作: $('#div').css('background','#ccc').removeClass('box').stop(). ...
- Redis --> 为redis分配新的端口
为redis分配新的端口 为redis分配一个8888端口,操作步骤如下:1.$REDIS_HOME/redis.conf重新复制一份,重命名为redis8888.conf.2.打开redis8888 ...