• 编码


    一、is和==的区别

      is比较内存地址,id( )获取内存地址

      ==比较两边的值

    s1 = "哈哈"
    s2 = "哈哈"
    print(s1 == s2) # True
    print(s1 is s2) # True 原因是有小数据池的存在 导致两个变量指向的是同一个对象
    l1 = [1, 2, 3]
    l2 = [1, 2, 3]
    print(l1 == l2) # True, 值是一样的
    print(l1 is l2) # False, 值是假的

      小数据池:
          1、给数字和字符串使用,其他数据类型数据不存在
             数字小数据池的范围 -5 ~ 256 每次都使用同一个对象      

          2、如果是纯文字信息和下划线,那么这个对象会被添加到小数据池

             字符串中不能包含特殊符号,如果有特殊字符他们的内存地址就不一样

             字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一致

    二、编码和解码
      encode(编码方式) ---- 拿到明文编码后对应的字节

      字符串在传输时转化成bytes=> encode(字符集)来完成

    s = "alex"
    print(s.encode("utf-8")) # 将字符串编码成UTF-8
    print(s.encode("GBK")) # 将字符串编码成GBK
    结果:
    b'alex'
    b'alex'
    s = "" print(s.encode("UTF-8")) # 中文编码成UTF-8 print(s.encode("GBK")) # 中文编码成GBK 结果: b'xe4xb8xad' b'xd6xd0'

      decode(编码方式) -----将编码后的字节解码成对应的明文

    s = "我叫李嘉诚"
    print(s.encode("utf-8")) #b'xe6x88x91xe5x8fxabxe6x9dx8exe5x98x89xe8xafx9a'
    
    print(b'xe6x88x91xe5x8fxabxe6x9dx8exe5x98x89xe8xafx9a'.decode("utf-8")) # 解码

    注意: 用什么进行编码就要什么进行解码 不然后会懵逼!

    s = "我是文字"
    bs = s.encode("GBK") # 我们这样可以获取到GBK的文字
    # 把GBK转换成UTF-8
    # 首先要把GBK转换成unicode. 也就是需要解码
    s = bs.decode("GBK") # 解码
    # 然后需要进⾏重新编码成UTF-8
    bss = s.encode("UTF-8") # 重新编码
    print(bss)

      ASCII 码

        不支持 中文
        支持 英文 数字 符号

        8位 一个字节

      gbk码 国标:
        支持 中文,英文,数字,符号
        英文 16位 二个字节
        中文 16位 二个字节
      unicode 万国码
        支持 中文,英文,数字,符号
        英文 32 位 四个字节
        中文 32位 四个字节
      utf-8 长度可变的万国码 最少用8位
        英文 8位 一个字节
        中文 24位 三个字节
    Python3中 程序运行阶段 使用的是unicode 显示所有的内容
    bytes类型
    传输和存储都是使用bytes
    pycharm 存储的时候默认是使用utf-8
    注意: pycharm是个坑, 一个py文件中所有相同的字符串 一般都是使用一样的内存地址

  • 相关阅读:
    New starting
    Ubuntu中PyCharm中字体设置
    pyshp操作shapefile
    GIS的数学基础
    向mysql中插入Date类型的数据
    mysql多字段排序
    干掉命令行窗口下MySql乱码
    JavaWeb中读取文件资源的路径问题
    Java中9种IO的读取方式
    JavaIO 将数据写入到文件中去
  • 原文地址:https://www.cnblogs.com/shanae/p/9409320.html
Copyright © 2020-2023  润新知