再谈编码

1.is和==的区别

  注意(一般情况下): 在py文件中. 如果你只是单纯的定义一个字符串. 那么一般情况下都是会被添加到小数据池中的. 我们可以这

样认为: 在使用字符串的时候, python会帮我们把字符串进行缓存, 在下次使用的时候直接指向这个字符串即可. 可以节省很多内存.

  is 比较的是地址

  == 比较的是值

2.编码的补充

  1. 英文   b'alex'  英文的表现形式和字符串没什么两样

  2. 中文   b'\xe4\xb8\xad' 这是一个汉字的UTF-8的bytes表现形式
  字符串在传输时转化成bytes=> encode(字符集)来完成

  

  记住: 英文编码之后的结果和源字符串一致.  中文编码之后的结果根据编码的不同. 编码结果也不同. 我们能看到. 一个中文的UTF-8编码是

3个字节. ⼀个GBK的中文编码是2个字节. 编码之后的类型就是bytes类型.  在网络传输和存储的时候我们python是保存和存储的bytes类型. 那么

在对方接收的时候. 也是接收的bytes类型的数据. 我们可以使用decode()来进⾏解码操作. 把bytes类型的数据还原回我们熟悉的字符串:

  
  编码和解码的时候都需要制定编码格式.

  

猜你喜欢

转载自www.cnblogs.com/wangjian941118/p/9289234.html