一.is 比较的是内存地址

== 比较的是两边的值

二.编码扩展:

1字节(bytes) = 8 位(bit)

1024byte = 1kb

1024kb = 1MB

1024MB = 1GB

1024GB = 1TB

ascii: 只能用于英文,8位 一个字节 首位都是0 最初只设计了7位,发明者预留了一位,以便后期扩展,所以最后是8位。

unicode: 万国码,最早发明的时候16位,2个字节。

后来进化:32位 四个字节

utf-8:最少用8位表示一个字节

英文:8位 一个字节

欧洲文字:16位 两个字节

中文:24位 三个字节

gbk 国标,每个国家都有自己的gbk  英文: 8位 一个字节

中文:16位 两个字节

1,  各个编码之间的二进制是不能互相识别,会产生乱码。

2,  文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gdk gb2312 ascii 等)因为存储空间太大,浪费,占用资源。涉及到转化到其他的编码。

Py3:在py3中str 的编码方式是用unicode。

bytes类型:unicode转换成bytes类型在进行存储和传输。bytes和str类型基本一样,只有两个区别,1.编码方式,2.对于中文表现形式

对于英文:

str:   表现形式:s = ‘ales’                       例:a = ‘alex’

编码方式:010101010 unicode                  a1=b’alex’

Bytes: 表现形式:s = b’alex’                          print(a,type(a))

编码方式:000101010 utf-8 gdk等              print(a1,type(a1))

对于中文:

str:   表现形式:s = ‘中国’

编码方式:010101010 unicode

Bytes: 表现形式:s=b’x\e91\e91\e01\e21\e31\e32’  三个字节表示一个中文

编码方式:000101010 utf-8 gdk等

encode 编码:表现形式将str转换成 bytes类型,实际内部是将unicode转化为 utf-8或gbk编码  str--àbytes

例:sl = ‘alex’

sl1 = s1.encode(‘utf-8’)  转换成utf-8编码 (bytes类型),gbk也一样

print(sl1) 结果:b’alex’

decode 解码:bytes----àstr  及 非unicode(utf-8,gbk等)-àunicode

utf-8和gbk之间的转换:1.如果是字母,数字,特殊字符可以直接转换:

例:s = ‘alex’

s1 = s.encode(‘utf-8’)

s2 = s1.decode(‘gbk’)

print(s2)

2.如果是中文,需要先转换成unicode在转换成utf-8或gbk

例:

例:s = ‘中国’

s1 = s.encode(‘gbk’)

s2 = s1.decode(‘gdk’).encode(‘utf-8)

print(s2.decode(‘utf-8’))

is,==区别,编码转换的更多相关文章

  1. 使用vbs脚本进行批量编码转换

    使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...

  2. ASP 编码转换(乱码问题解决)

    ASP 编码转换(乱码问题解决) 输出前先调用Conversion函数进行编码转换,可以解决乱码问题. 注,“&参数&”为ASP的连接符,这里面很多是直接调用的数据库表字段,实际使用请 ...

  3. php urlencode()函数URL编码转换实例解析

    URLEncode:是对网页url所包含中文字符的一种编码转化方式,URLEncode有两种常见方式,一种是基于GB2312的 Encode(Baidu.Yisou等搜索引擎使用),另一种是基于UTF ...

  4. python 编码转换(转)

    主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换. 常见的编码转换分为以下几种情况: 自动识别 字符串编 ...

  5. python基础之小数据池,is和==区别 编码问题

    主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同 ...

  6. java字符编码转换研究(转)

    1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...

  7. python 编码转换 专题

    主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换. 常见的编码转换分为以下几种情况: 自动识别 字符串编 ...

  8. 关于JS的编码转换问题

    在进行JS开发过程中,尤其是在开发报表时,报表已集成到Web页面中,通过在页面传递参数至报表中时,会发现有时某些参数值,传递到报表中是显示为问号或乱码等等一系列不能正常显示的情况. 这是由于浏览器和报 ...

  9. 帆软报表FineReport数据库连接编码转换

    1. 问题描述 数据库会以某种编码方式保存与读取数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码. FineReport在定义数 ...

随机推荐

  1. Atomic系列类整体介绍

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文是转载文章,原文请见此博客,文章主要对java.ut ...

  2. 使用Spring Data Mongodb的MongoRepository类进行增删改查

    Spring Data Mongodb提供一套快捷操作 mongodb的方法,创建Dao,继承MongoRepository,并指定实体类型和主键类型. public interface CmsPag ...

  3. PAT A1018

    A 1018 Public Bike Management 这个题目算是比较典型的一个.我分别用dfs,及dijkstra+dfs实现了一下. dfs实现代码: #include <cstdio ...

  4. CentOS7使用firewalld的基本命令

    转自:https://www.cnblogs.com/moxiaoan/p/5683743.html.Thanks for  莫小安   1.firewalld的基本使用 启动: systemctl ...

  5. faster RCNN(keras版本)代码讲解(3)-训练流程详情

    转载:https://blog.csdn.net/u011311291/article/details/81121519 https://blog.csdn.net/qq_34564612/artic ...

  6. VBE2019的下载、安装和使用(最新版2020.2.22)

    VBE2019可用于XP系统.Windows 7和Windows 10的32位.64位Office对应的VBA环境 安装包下载地址:VBE2019-Setup.zip 下载后解压缩,直接双击安装(请勿 ...

  7. hdu 5147 Sequence II【树状数组/线段树】

    Sequence IITime Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...

  8. 一本通1402 Vigenère密码

    [题目描述]6世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法——Vigenère密码.Vigenère密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南 ...

  9. 最短路问题--Floyd 畅通工程续

    畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很 ...

  10. SDWebImage清理缓存

    [[SDImageCache sharedImageCache] getSize]//计算缓存的大小,单位B float tmpSize = [[SDImageCache sharedImageCac ...