Python基础—编码(Day2)
一、字符编码
1.ASCII码:包含英文、数字、特殊字符,8位=1字节byte =1个字符,如: 0010 1010
ASCII码表里的字符总共有256个,前128个为常用的字符如运算符,后128个称为扩展ASCII码。
2. Unicode(万国码):将所有国家的语言全部包含在这个密码本中。
初期:16位,两个字节,表示一个字符。
A : 00010000 00010010
中: 00010010 00010010
升级:32位,四个字节,表示一个字符。(32位造成资源浪费)
A : 00010000 00010010 00010000 00010010
中: 00010010 00010010 00010010 00010010
Python2x,unicode默认是两个字节表示一个字符,可以编译安装时调整。
Python3x, unicode统一是四个字节表示一个字符。
3. utf-8:最少用8位表示字符
英文:8位表示1个字符,如:00010000
欧洲:16位表示两个字节表示一个字符,如:00010000 01000100
亚洲:24位三个字节表示一个字符,如:00010000 01000100 00010000
4.GBK:国标,只包含英文、中文
英文:8位,1个字节表示一个字符,如:000 0001
中文:16位,两个字节表示一个字符,如:0000 0001 0000 0001
二、单位换算
- 8 bit = 1 byte
- 1024 byte = 1 kb
- 1024 kb = 1 MB
- 1024 MB = 1 GB
- 1024 GB = 1 TB
三、编码之间的转换
1.编码之间的二进制是互不相识的。
2.用于存储和传输的010101不能是unicode的010101。(utf-8和gbk是在unicode基础上写出来的)
3.数据类型bytes:与str的用法相同。
python3x中的str在内存中的编码方式是unicode,不能直接存储和发送,bytes的编码方式是非unicode(utf- 8、gbk.....等)。
4.str与bytes类型的表现形式和内部编码
对于英文:
str 表现形式:s='laonanhai'
内部编码:unicode
bytes 表现形式:s=b'laonanhai'
内部编码:非unicode(utf-8,gbk等)
对于中文:
str 表现形式:s='中国'
内部编码:unicode
bytes 表现形式:s1=b'\xe4\xb8\xad\xe5\x9b\xbd'
内部编码:非unicode(utf-8,gbk等)
5.str与bytes之间的转换
str---->bytes s.encode('gbk') 编码
bytes---->str s.decode('gbk') 解码
s='alex'
s1=s.encode('utf-8') #编码
s2=s1.decode('utf-8') #解码
print(s2)
执行结果:alex
6.编码的转换
utf-8不能直接转换成gbk,要通过unicode转换
四、小数据池
int和str有小数据池,目的是为了节省空间。
1. int: -5—256在同一内存地址
2.str:如果含有特殊字符不存在小数据池。
str*int int>20不存在小数据池(单个str)
五、 is和==
==是数值的比较
is是内存地址的比较
Python基础—编码(Day2)的更多相关文章
- Python 基础 编码
Python 基础 编码 咱们的电脑,存储和发送文件,发送的是什么?电脑里面是不是有成千上万个二极管,亮的代表是1,不亮的代表是0,这样实际上电脑的存储和发送是不是都是010101啊 我们发送的内容都 ...
- Python基础篇-day2
主要内容: for循环 while循环 格式化输出(2) 数据统计及记录 ############################################################# 1 ...
- Python基础-编码与解码
一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简而言之,就是将人能够读懂的信息(通常称为明文)转换为计算机能够读懂的信息.众所周知,计算机能够读懂的 ...
- 【转】python基础-编码与解码
[转自:https://www.cnblogs.com/OldJack/p/6658779.html] 一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简 ...
- python基础之day2
python基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统 ...
- python基础-编码_if条件判断
一.第一句Python代码 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: [root@python-3 scripts]# cat hello.py #!/usr/bin/ ...
- python基础1 day2
一.上节课回顾1. 编译型: 将源码一次性全部编译成二进制. C 优点:执行效率高. 缺点:开发效率慢,不可跨平台使用. 解释型: 当程序执行时,代码一行一行的去解释成二进制. python 优点:开 ...
- python基础 (编码进阶,文件操作和深浅copy)
1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...
- Python基础,day2
程序练习 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买 ...
随机推荐
- IDEA开启热部署
双击shift,查找Registry
- vue3.0+vite+ts项目搭建--基础配置(二)
集成vue-router 使用yarn yarn add vue-router@next --save 安装完成之后在src目录下创建文件夹router/index.ts,创建完成之后需要在Vue-R ...
- 安霸pipeline简述之YUV域的处理
YUV域处理模块的详细介绍: YUV域的处理主要是rgb_to_yuv_matrix,chroma_scale,ASF(空域降噪),MCTF(时域降噪),SharpenB(锐化模块). RGB2YUV ...
- 你的Kubernetes Java应用优雅停机了吗?
Java 应用优雅停机 我们首先考虑下,一般在什么场景下数据会丢失呢? 升级服务时 pod重启时 服务器断电时 因为服务器断电属于极端情况,我们暂且不考虑.那就只有 Java 退出时我们要保证数据的完 ...
- Linux命令(2)--cp拷贝、mv剪切、head、tail追踪、tar归档
文章目录 一.知识回顾 ls cd 二.Linux基本操作(二) 1.cp 拷贝 2.mv 移动(剪切) 3.head 头部 4.tail 追踪(尾部) 5.tar 归档 查看 压缩 解压 总结 一. ...
- GIS :元宇宙未来发展的有力技术支撑
摘要:元宇宙是描述未来互联网迭代发展的一个概念,是一个将现实世界和虚拟世界相互融合的一个可感知的持久.共享的3D虚拟空间组成的世界. 本文分享自华为云社区<[云驻共创]元宇宙漫游指南-新一代GI ...
- netty基础知识
参考 http://www.infoq.com/cn/articles/netty-high-performance 1. 传统 RPC 调用性能差的三宗罪 1)网络传输方式问题 2)序列化方式问题 ...
- CVE-2021-26119 PHP Smarty 模版沙箱逃逸远程代码执行漏洞
0x00 漏洞介绍 smarty是一个基于PHP开发的PHP模板引擎.它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设 ...
- Vue3 框架基础随笔 (一)
VUE框架基础部分随笔 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue可以使用简单的代码实现一个单页面应用. 基本格式 Vue通过模板语法来声明式的将数 ...
- Shell 脚本进阶,经典用法及其案例
一.条件选择.判断 1.条件选择if (1)用法格式 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; the ...