一、字符编码

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是内存地址的比较

最新文章

  1. powershell对txt文件的服务器进行ping操作
  2. VirtualBox Win7 虚拟机 共享文件夹设置
  3. Android Studio-设置override及getter/setter方法
  4. iOS支付后默认关注公众号
  5. js比较日期大小
  6. Docker学习实践 - Docker安装MySql数据库
  7. 安卓Tv开发(二)移动智能电视之焦点控制(按键事件)
  8. 移动端解决单机事件延迟fastclick
  9. 【机器学习】异常检测算法(I)
  10. 【LOJ#6072】苹果树(矩阵树定理,折半搜索,容斥)
  11. ubuntu安装docker以及基本用法
  12. npm的源改成淘宝镜像
  13. C语言转义字符'\'
  14. mongodb分布式集群搭建手记
  15. HDU 4607 Park Visit (树的最长链)
  16. 【开发者笔记】按List中存放对象的某一字段计数的问题
  17. 微服务架构 vs. SOA架构
  18. java:eclipse-tomcat 配置
  19. HDU 1226 超级密码(数学 bfs)
  20. SQL Server事务详解

热门文章

  1. Hive与MapReduce相关排序及自定义UDF函数
  2. iView 用renderContent自定义树组件
  3. mybatis(CRUD)
  4. 51 Nod 1006 最长公共子序列(LCS & DP)
  5. HDU 2673-shǎ崽 OrOrOrOrz(C语言描述)
  6. JAVA8-STREAM 使用说明
  7. powershell基础知识
  8. 关于BIO NIO和AIO的理解
  9. 实习之bii--源码安装bind9
  10. 基础概念(3):怎么写一个c程序?