zoukankan      html  css  js  c++  java
  • python记录_day06

    一、小数据池

    注意大前提!!!!

      小数据池只针对整数、字符串和bool值,因为这些数据是不可变的,这样数据的共享才安全

    小数据池也称为小整数缓存机制或驻留机制,是指在不同代码块创建部分小数据对象(具体规则官方文档也没说明,老男孩的老师总结了一些常见规则,看下图,这个了解就行)时,数据缓存共享的现象。

    它的作用是在创建这些小数据对象时提升效率,减少内存浪费

    小数据驻留规则:

    二、再谈编码

    ascii: 数字,字母, 特殊字符。  8bit,1 byte

    gbk: 国标码。16bit, 2byte

    unicode: 万国码。32bit, 4byte

    utf-8:可变长度的unicode
               英文:  8bit,1byte
               欧洲文字: 16bit,2byte
               中文: 24bit, 3byte

    在之前Python2中内存使用的是ASCII码,python3中内存使用的是Unicode,但Unicode不利于存储和传输,所以在存储和传输时要转换成其他的编码方式。

    因为不同编码字符集是不同的,所以不同的编码之间是不能直接转换的,要通过中间量,这个中间量就是unicode

    比如 str是用gbk编码的字符串,如果想转成utf-8 需要先解码成unicode再编码成utf-8

    s = str.decode(gbk)

    str2 = s.encode(utf-8)

    str2就是utf-8格式的了

    注意:编码和解码之后数据是bytes类型的,形式是 b'xxx' , bytes是python中的最小数据单元。数据传输和存储时都是bytes类型

    字符串如果传输:
    1、传输端  编码encode(编码形式) ,结果是bytes类型

    2、接收端 接受到bytes之后,需要解码decode(编码形式)    !!!传输端和接受端用的编码形式要一致

  • 相关阅读:
    R语言与概率统计(三) 多元统计分析(上)
    R语言与概率统计(二) 假设检验
    win系统下启动linux上的kafka集群及使用
    MD5加密解密帮助类
    Effective JavaScript Item 39 绝不要重用父类型中的属性名
    博客搬家啦!
    ABAP 中的搜索帮助
    <转>bash: qmake: command not found...
    EJB学习笔记六(EJB中的拦截器)
    需求管理之被遗忘的需求
  • 原文地址:https://www.cnblogs.com/zhang-yl/p/9846490.html
Copyright © 2011-2022 走看看