zoukankan      html  css  js  c++  java
  • day006 小数据池,再谈编码

    一、小数据池,(常量池)
    *** 小数据池只针对 int, str, bool三种类型而言
    1、代码块:
    一个模块、一个函数、一个类、甚至每一个command命令、一个文件,都是一个代码块
    2、is 和 == 的区别
    1.id() 查看一个变量的内存地址
    2.is 和 ==
    == 判断左右两边的值是否一致
    is 判断左右两端的内存地址是否一致
    3、小数据池的作用
    为了快速创建字符串对象,减少内存的浪费
    4、
    用缓存的前提, 1.数据可共享 2.不可变
    二、再说编码
    1.ascii: 最早的编码,由字母、数字、特殊字符组成,没有中文,8bit
    2.gbk: 国标码,包含ascii编码和中文常用编码(但还不全),16bit,2个byte
    3.unicode: 万国码,包含所有国家的编码,32bit,4byte
    4.utf-8: 可变长度的万国码,
    英文:1个byte, 8bit
    欧洲文字: 2个byte, 16bit
    中文:3个byte, 24bit
    python在内存中使用Unicode
    python2 使用ASCII
    python3 使用Unicode
    三、字符串的传输(encode, decode)
    encode(编码) 结果是bytes类型
    接受到bytes之后。 需要解码
    decode(编码). 结果是字符串
    fe:
    s = "我是文字"
    bs = s.encode("GBK") # 这里编码成GBK的文字
    # 把GBK转换成UTF-8
    # 首先要把GBK转换成Unicode,即解码
    s = bs.decode("GBK")
    # 然后重新进行编码成 UTF-8
    bss = s.encode("UTF-8") # 重新编码
    print(bss) # b'xe6x88x91xe6x98xafxe6x96x87xe5xadx97'


  • 相关阅读:
    【Linux】grep or
    win10查看WiFi密码
    【WPF】Border有显示模糊的情况
    【Spark】配置项spark.network.timeout 的单位是什么
    【Linux】free命令中 free与 available 的区别
    Spark2.3配置项
    java获取jar包执行路径
    编译 thrift-0.14.2 的 C++ 版本
    拉端保障方案
    编译运行ebpf代码的流水账
  • 原文地址:https://www.cnblogs.com/yipianshuying/p/9845999.html
Copyright © 2011-2022 走看看