字符编码 + python2和python3的编码区别(day08整理)
目录
昨日回顾
二十三、元组内置方法
不可更改的列表,其他的和列表一摸一样
二十四、散列表
二十五、字典内置方法
乱序
python2中字典是乱序的,但是python3做了优化
(本来是乱序的,但是在c这个层面做了不不乱序的优化)
key为什么是不可变的
假设是可变的,在哈希处理时,除留余数法会导致存储的位置发生变化
二十六、集合内置方法
- 去重
- 乱序(差值是按照某种哈希算法随机插的)
- 交集&/并集|/差集-/补集^
二十七、深浅拷贝
拷贝
a是b的拷贝对象,则b内部所有的数据类型变化,则a也变化
浅拷贝
a是b的浅拷贝对象,b内部的可变数据类型变化,a变化;b内部的不可变数据类型变化,a不变化
深拷贝
a为b的深拷贝对象,a内部无论何数据类型变化,b都不改变
今日内容
二十八、字符编码
1.文本编辑器存储信息的过程
unicode编码(识别所有代码)
因为unicode存储占用空间,所以用utf8来存储
utf8只和unicode对应识别
内存中unicode取,存用utf8存(硬盘),全世界的人写代码都是用utf8
内存中为什么不用utf8?
utf8和其他编码都没有转换关系,因此都要用unicode
未来迟早有一天,内存要用utf8
2.gb2312和gbk的区别
gb2312:一些常用词,不包括繁体字
gbk:所有的字
用什么编码写,就用什么编码读
如果写用utf8,存用gbk,会导致在存储的时候就会乱码
如果写用utf8,存用utf8,但是读用gbk,也会乱码
3.编码和解码
编码:内存中unicode编码,从内存到硬盘utf8
解码:Unicode从硬盘到内存
现在内存只有unicode编码
4.python解释器解释python代码的流程
读入python代码(字符编码)
python2默认是ascill,python默认是utf8
可以使用coding规定解决
# coding:gbk # 告诉python解释器用gbk去完成第一步,读入字符 中文识别代码 (语法识别)
终端产生结果(字符编码)
终端是什么编码,就按照什么编码来
windows终端是utf8
二十九、python2和python3的编码区别
python2
python2有两种存储变量的形式:Unicode和按照coding头
假设python2用utf8存储中文,当你打印时,终端接受gbk的变量,但是windows终端编码时utf8,就会乱码
假设python2用unicode存储,因为unicode可以和任何的编码转换,所以此时终端编码是什么就不重要了, 不会乱码
# coding:gbk lt1 = '中文' # utf存储的 # lt1 = ['中文'] # []让他不用终端的编码转化,显示01010101001 print lt1 # ['\xe4\xb8\xad\xe6\x96\x87'] lt2 = u'中文' # u'中文'让他变成unicode # 早期用python2定义中文,必须得加上u,让他变成unicode存储 # lt2 = [u'中文'] print lt2 # '中文'
python3
python3只有一种存储变量的形式:unicode
因此,windows终端编码无论是什么都不会乱码,算是一种优化

字符编码 + python2和python3的编码区别(day08整理)的更多相关文章
- 字符编码 python2与python3的区别
目录 1. 字符编码 2. 文本编辑器存储信息的过程 3. 编码: 1. 编码的历史 2. gb2312和gbk的区别 3. 编码和解码 4. python解释器 解释代码的流程 1. 读取文本到解释 ...
- while 运算符 初始编码 python2和python3的区别
1.while 循环 2.运算符 3.初始编码 4.python2 和python3的区别 1.while循环: 关键词:while[循环] break[跳出循环] c ...
- Python2 与 Python3 的编码对比
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8 ...
- [python]python2与python3版本的区别
python2和python3的区别 区别: print函数 整数相除 Unicode 异常处理 xrange map函数 不支持has_key print函数: Python 2: print是语句 ...
- python版本坑:md5例子(python2与python3中md5区别)
对于一些字符,python2和python3的md5加密出来是不一样的. Python2 和Python3MD5加密 # python2.7 pwd = "xxx" + chr(1 ...
- python2和python3的编码问题
python2中有两种类型 str字符串和unicode字符串 python3则改成了 bytes和str字符串 在python2中‘xxx’和b‘xxx’都是str字符串,u‘xxx’是unicod ...
- python2和python3的编码encode解码decode函数
python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8: 常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...
- 转 python2 与 python3 的编码
原文链接:https://blog.csdn.net/xufive/article/details/102726739 引文如下: 无论是py2还是py3,都使用unicode作为内存编码,简称内码. ...
- (个人记录)Python2 与Python3的版本区别
现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向Python3靠近,所以对于python2的特别用法不探究. 此文不补全所有版本区别,仅作档案 ...
随机推荐
- Python学习-函数,函数参数,作用域
一.函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 我们已经知道python提供了许多内建函数,print(), type()等.我们也可以自己创建函数,这被叫 ...
- Java行业未来发展
互联网时代的飞速发展,为机械,自动化,等传统行业敲响了警钟,曾经火爆一时的行业逐渐没落,曾经网上有个段子,一个人在20多年前,看BP机卖的如火如荼,自己一想,那么多人都在用,总会有坏的时候吧,然后去技 ...
- 两个变量交换数字 不用第三个变量的情况下 int a = 5,b = 6
今天可是涨见识额 记录一下 第一种方法: a=a+bb=a-ba=a-b 第二种: b= a+(a=b)*0 一句话搞定
- [技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码
1.CRC.FCS是什么 CRC,全称Cyclic Redundancy Check,中文名称为循环冗余校验,是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检 ...
- 基于C#的机器学习--c# .NET中直观的深度学习
在本章中,将会学到: l 如何使用Kelp.Net来执行自己的测试 l 如何编写测试 l 如何对函数进行基准测试 Kelp.Net是一个用c#编写的深度学习库.由于能够将函数链到函数堆栈中,它在 ...
- 阿里云服务器CentOS6.9 nexus私服配置
从nexus官网下载nexus版本. 下载地址如下:https://help.sonatype.com/repomanager2/download 如果要下载3.X版本的,可以把repomanager ...
- Network in Network(2013),1x1卷积与Global Average Pooling
目录 写在前面 mlpconv layer实现 Global Average Pooling 网络结构 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 <Net ...
- Java 爬虫遇上数据异步加载,试试这两种办法!
这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...
- IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别
一.什么是socket?什么是I/O操作? 我们都知道unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO.管道.终端,对我们来说,一切都是 ...
- Spring Boot 二十个注解
Spring Boot 二十个注解 占据无力拥有的东西是一种悲哀. Cold on the outside passionate on the insede. 背景:Spring Boot 注解的强大 ...