python-day10--字符编码
1.回顾:
软件→操作系统→硬件
2.文本编辑器:
启动:硬盘→内存→运行(cpu)
读文件:硬盘→内存→CPU读
存文件:保存到硬盘中
3.python解释器
启动:硬盘→内存→运行(cpu)
读文件:硬盘→内存→CPU读
(这两阶段与文本编辑器相同,但第三阶段就不同了,关系到语法等问题)
解释执行:这个阶段就要在内存中开辟新的空间
4.字符编码:顾名思义就是编码字符的
①字符编码的作用:把人能识别的字符通过一种标准翻译成计算能识别的二进制,翻译过程的标准就是字符编码表
②不同的字符编码表
ASCII
用8个位表示一个字节bytes,共可表示2**8=256种
GBK
用2个bytes表示1个字符,共2**16种
Unicode(万国码)
用2个bytes表示1个字符(但是在保存英文字符的时候就浪费空间)
UTF-8(万国码)
对英文存1个bytes,中文存3个bytes
5.计算机内存中用Unicode(速度快),硬盘中用UTF-8(占用空间小,传输稳定)
6.保存文件过程:内存Unicode → encode → 硬盘UTF-8/或其他字符编码
读取文件过程:硬盘UTF-8/或其他字符编码 → decode → 内存Unicode
7.以上总结:
①存文件的时候用的什么编码(encode)取的时候就要用什么编码取(decode)
②python3解释器默认的字符编码是UTF-8,可以更改: #coding:gbk或其他
③python2解释器默认的字符编码是ASCII,可以更改: #coding:uft-8或其他
8.python解释器第三阶段才用到字符串,执行中遇到字符串就会开辟新的内存空间存起来。
在python3中字符串都是unicode格式的二进制存放在内存中,而在python2中字符串都是已经encode后的结果,即bytes。
9.Unicode → encode → bytes
bytes → decode → Unicode
10.python3中有两种形式的字符串:
①.Unicode(解释器自动控制)
②.bytes(Unicode→encode→bytes)(人为控制)
11.python2的字符串有两种:
①. str = bytes(Unicode→encode→bytes)(解释器自动控制)
②. u' 字符串 ' (相当于python3中的Unicode)
12.为什么要有bytes:
计算机最基本的传输信号就是二进制,就相当说最基本的传输信号就是bytes,所以数据要传输就要用bytes。
python-day10--字符编码的更多相关文章
- Python基础-字符编码与转码
***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...
- Python的字符编码
Python的字符编码 1. Python字符编码简介 1. 1 ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...
- Python常用字符编码(转)
Python常用字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...
- Python常见字符编码间的转换
主要内容: 1.Unicode 和 UTF-8的爱恨纠葛 2.字符在硬盘上的存储 3.编码的转换 4.验证编码是否转换正确 5.Python bytes类型 前 ...
- python 3字符编码
python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...
- Python 的字符编码
配置: Python 2.7 + Sublime Text 2 + OS X 10.10 本文意在理清各种编码的关系并以此解决 Python 中的编码问题. 1 编码基本概念 只有先了解字符表.编码字 ...
- 转:Python常见字符编码及其之间的转换
参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...
- Python之字符编码(Day10)
1. python解释器执行py文件的原理 ,例如python test.py 第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器 第二阶段:python解释器相当于文本编辑器, ...
- Python遇到字符编码出问题的一个相对万能的办法
在使用Python做爬虫的过程中,经常遇到字符编码出问题的情况. UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' ...
- Python:字符编码详解
相关文章 Python中文编码问题:为何在控制台下输出中文会乱码及其原理 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Informati ...
随机推荐
- MySQL数据库读写分离、读负载均衡方案选择
MySQL数据库读写分离.读负载均衡方案选择 一.MySQL Cluster外键所关联的记录在别的分片节点中性能很差对需要进行分片的表需要修改引擎Innodb为NDB因此MySQL Cluster不适 ...
- 利用arcgis处理遥感栅格数据,得到省平均值数据
1.准备全国省级行政区数据,需要有省级行政区信息,如下所示: 2.生成渔网数据,操作完成会生成一个面数据和一个点数据,我们主要用点数据进行后面的操作. 3.提取栅格数据的值到渔网点数据中. 4.将区域 ...
- MAC安装最新datagrip之后无法非官方激活,而且启动过慢
由于之前安装过,更新最新版本之后发现不能使用(http://xidea.online)激活??? 解决方法:使用CleanMyMac等相应软件删除之后,还要去相应的保存记录的路径(/Users/用户名 ...
- P2414 [NOI2011]阿狸的打字机
P2414 [NOI2011]阿狸的打字机 AC自动机+树状数组 优质题解 <------题目分析 先AC自动机搞出Trie图 然后根据fail指针建一只新树 把树映射(拍扁)到一个序列上,用树 ...
- Python3基础 函数 有参数有返回值 对传入的参数加1
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 安装PyInstaller打包python
安装PyInstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码包,然后进入包目录,执行 ...
- 棋盘状态压缩dp
状态压缩入门DP整理 只针对入门 一般都是用2进制的方法,压缩成一个数,所以n的范围都会特变小 一些套路 状态一般是很多的,可以搜索或者位运算筛选一下,基本都是这样的吧 当要存两个状态或者数组存不下的 ...
- C# 获取SQL Server所有的数据库名称
参考文章:http://www.cnblogs.com/Abel_cn/archive/2008/12/09/1351425.html http://blog.csdn.net/friendan/ar ...
- [Redis] - redis实战
Microsoft Windows [版本 10.0.17134.472] (c) Microsoft Corporation.保留所有权利. C:\Users\SeeClanUkyo>f: F ...
- C#学习笔记(一):C#简介
计算机语言计算机语言是指用于人与计算机之间通讯的语言机器码——汇编语言——高级语言(面向过程(线性).面向对象(类).面向组件(Unity)) 一.计算机语言发展趋势1.简单:代码生成逻辑2.面向人类 ...