python3之编码详解
一,python2与python3的区别
1)python2可以不用括号()
python3必须加括号
2)python2中有range()有序列表,xrange()生成器
python3中只有range()
3)python2中输入是raw_input()
python3中输入是input()
二, = == is 三者的区别
1) = 是赋值
== 是比较,值是否相等
is 比较的是内存地址
id(内容) 打印的是内容的id print(id1(内容),id2(内容))
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
三,小数据池
小数据池是int和str在一定范围内共用一个数据池,范围-1— -256。小数据池是为了节省内存。
1)str:不含有特殊字符的共用
ps: s1 = ‘alex’
s2 = 'alex'
print(s1 is s2)
结果是True
2)str: ‘一个字符’*小于等于20的数字,还是共用,如果是大于20的就不共用了。
多个字符不论乘什么数字,都不共用
3)剩下的list dict taple set等都没有小数据池概念
四,编码
ascii码: 只有英文字母和特殊字符,一个字节是8位
unicode码: 一个字符是32位,一个字母4个字节
一个汉字是32位,一个汉字4个字节
utf-8: 一个字母是8位,一个字母1个字节
一个汉字是24位,一个汉字3个字节
gbk; 一个字母是8位,一个字母1个字节
一个汉字是16位,一个汉字2个字节
1)各个编码之间的二进制不能互相识别,会乱码。
uncode占得内存太多,所以不能传输和储存。
utf-8,gbk,utf-16,utf-32,gb2312,ascii等都可以储存和传输。
2)python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输。
五,bytes类型
bytes类型也是一种数据类型。
bytes不是用unicode方式编码的,所以可以储存和传输。
bytes的编码方式是utf-8,gbk,ascii,gb2312等。
1)英文
在python3中:str表现形式; s = ''alex'' str编码形式:unicode
在bytes中: str表现形式: s = b''alex'' str编码形式:utf-8,gbk,ascii,gb2312等
中文
在python3中:str表现形式; s = ''中国'' str编码形式:unicode
在bytes中: str表现形式: s = b''x\e91\e91e91\e91e91\e91 str编码形式:utf-8,gbk,ascii,gb2312等
六,编码 encode
1)将str>>>bytes 可以指定编码方式
s1 = ‘alex’
s11 = s1.encode('utf-8')
print(s11)
表面是将str转化为bytes,实际内部是将unicode转化为utf-8,gbk,ascii,gb2312等
python3之编码详解的更多相关文章
- Python2.7字符编码详解
目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3. ...
- 转1:Python字符编码详解
Python27字符编码详解 声明 一 字符编码基础 1 抽象字符清单ACR 2 已编码字符集CCS 3 字符编码格式CEF 31 ASCII初创 311 ASCII 312 EASCII 32 MB ...
- 数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- Protocol Buffers编码详解,例子,图解
Protocol Buffers编码详解,例子,图解 本文不是让你掌握protobuf的使用,而是以超级细致的例子的方式分析protobuf的编码设计.通过此文你可以了解protobuf的数据压缩能力 ...
- H264 编码详解
H264 编码详解(收集转载) (1) x264_param_default( x264_param_t *param ) 作用: 对编码器进行参数设定 cqm:量化表相关信息 csp: ...
- 字符编码详解 good
字符编码详解 字符编码详解
- Python字符编码详解,str,bytes
什么是明文 “明文”是可以是文本,音乐,可以编码成mp3文件.明文可以是图像的,可以编码为gif.png或jpg文件.明文是电影的,可以编码成wmv文件.不一而足. 什么是编码?把明文变成计算机语言 ...
- Mac OS X10.9安装的Python2.7升级Python3.4步骤详解
Mac OS X10.9安装的Python2.7升级Python3.4步骤详解 Mac OS X10.9默认带了Python2.7,不过现在Python3.4.0出来了,如果想使用最新版本,赶紧升级下 ...
- 转2:Python字符编码详解
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...
随机推荐
- 流媒体Red5服务自定义媒体文件路径
4. 创建类实现自定义媒体访问路径 使用bean对自己的项目进行配置,更换默认的视频播放目录和视频录制目录.在0.6版的时候, 我们可以直接在red5-web.properties中写入playbac ...
- [Mockito] Mock List interface
In this post, we are going to see more functionalities in Mockito. Mock a List interface: @Test publ ...
- 【Zookeeper】源码分析之服务器(二)之ZooKeeperServer
一.前言 前面阐述了服务器的总体框架,下面来分析服务器的所有父类ZooKeeperServer. 二.ZooKeeperServer源码分析 2.1 类的继承关系 public class ZooKe ...
- 使用IDEA导出可运行的jar包,包含引用第三方jar包
这里我使用的第三方jar包是数据库的JDBC jar包导出案例. 1.创建一个Module,名称为dataBase,在里面我们先创建一个folder用来包含所需要的jar包,命名为lib 2.从外界复 ...
- Swift 静态派发和动态派发
前言 方法是 Swift 中的一个重要概念,方法允许你把需要复用的代码封装进方法中,这样当你调用方法时,实际上你的想法是执行方法中的那些代码,方法的出现极大的提高了方法的复用性. Swift 工程的环 ...
- 分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
一. 数据采集 源码GitHub地址 : -- SSH : git@github.com:han1202012/DisplayTest.git; -- HTTP : https://github.co ...
- shell函数【参数传递及输入输出】&内置函数
Linux——shell脚本基础3:shell函数[参数传递及输入输出]&内置函数 函数定义 1 退出状态 1 参数传递 2 标准IO 2 脚本调试 2 AND&OR 3 内置命令补充 ...
- Socket网络编程--聊天程序(2)
上一节简单如何通过Socket创建一个连接,然后进行通信.只是每个人只能说一句话.而且还是必须说完才会接收到信息,总之是很不方便的事情.所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话 ...
- JAVA(五)反射机制/Annotation
成鹏致远 | lcw.cnblog.com |2014-02-04 反射机制 1.认识Class类 在正常情况下,必须知道一个类的完整路径之后才可以实例化对象,但是在 java中也允许通过一个对象来找 ...
- MySql-Binlog协议详解
Reference: https://blog.csdn.net/hj7jay/article/details/56665057?utm_source=blogxgwz7 MySql-Binlog协议 ...