一.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’))

最新文章

  1. App提交iTunes Connect,"二进制无效"问题解决方案。
  2. Java实现JDBC连接数据库实例
  3. Tomcat应用中post方式传参数长度限制
  4. Android UI之下拉刷新上拉刷新实现
  5. 关于Redis中交互的过程
  6. Android一个大众化的设置界面
  7. 34.Android之资源文件res里drawable学习
  8. 使用匿名委托,Lambda简化多线程代码
  9. Castle IOC FOR MVC 使用方法
  10. Spark技术内幕:Stage划分及提交源码分析
  11. AndroidStudio 快捷键使用
  12. Java实现生产者消费者问题与读者写者问题
  13. 14.6.1 Creating InnoDB Tables 创建InnoDB 表:
  14. Hibernate调用带有输入参数,输出参数为cursor的存储过程
  15. Code::Blocks 配置
  16. Google Adsense Google判断广告点击作弊的方式和数据 数据分析
  17. Mail.Ru Cup 2018 Round 3
  18. BSGS&扩展BSGS
  19. 20190402Linux高级命令进阶(week1_day2
  20. VIP之Switch

热门文章

  1. 二十二、CI框架之模型别名
  2. day27(027-反射&JDK新特性)
  3. python复习——数据输入输出
  4. Mybatis基本配置(一)
  5. MySQL--从库启动复制报错1236
  6. 82.常用的返回QuerySet对象的方法使用详解:all,select_related
  7. 2020/1/29 PHP代码审计之XSS漏洞
  8. Java反射--getDeclaredField()和getField()
  9. Linux&Win双系统下时间显示不正常的问题
  10. Json返回结果为null属性不显示解决