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'


  • 相关阅读:
    人生转折点:弃文从理
    人生第一站:大三暑假实习僧
    监听器启动顺序和java常见注解
    java常识和好玩的注释
    182. Duplicate Emails (Easy)
    181. Employees Earning More Than Their Managers (Easy)
    180. Consecutive Numbers (Medium)
    178. Rank Scores (Medium)
    177. Nth Highest Salary (Medium)
    176. Second Highest Salary(Easy)
  • 原文地址:https://www.cnblogs.com/yipianshuying/p/9845999.html
Copyright © 2011-2022 走看看