zoukankan      html  css  js  c++  java
  • is 和 == 的区别, 编码的问题以及解码

    1. is 和 == 的区别:

        id(变量)返回给你这个变量的内存地址.

       s1 = "alex"

      s2 = "alex"

       print(id(s1),id(s2))   内存地址是一样的

      

       lst1 = [1,4,7]

       lst2 = [1,4,7]

       print(id(lst1),id(lst))   内存地址不一样

       小数据池(常量池):把我们使用过得值存储在小数据池中,小数据池给数字和字符串使用,其它数据类型不存在.

       纯文字信息和下划线,会被添加在小数据池中,如果有特殊字符的,不会被添加到小数据池,每次都是新的.

        is 比较的是内存地址,  == 判断两边得值是否相等.

    2. 编码 

        ASCII   8bit   1byte  英文大小写字母,特殊字符,数字.

        GBK 16bit   2byte中文兼容ASCII

        UNICODE   32bit    4byte  万国码,占空间 ,浪费.

        UTF - 8   unicode的升级版,英文8bit   1byte  , 中文  24bit   3byte.

        传输过程中用:UTF - 8 或 GBK  不用UNICODE  (因为浪费资源)

        内存中,我们程序运行的过程中,编码是unicode.转换的时候,GBK不能和utf-8 直接转换,但是可以通过UNICODE转换.

        在程序中字符串可以编码成bytes类型的数据.

        编码encode()  编码的转换.

        s = "alex"

       print(s.encode("utf-8"))

       print(s.encode("GBK"))

       打印出来的都是b"alex"

       s = "中"

       print(s.encode("utf-8))       b'\xe4\xb8\xad'

       print(s.encode("GBK"))       b'\xd6\xd0'

       编码之后的东西和之前的是一样的,只是看着不一样.

  • 相关阅读:
    Keil C 里面Lib库文件的生成与调用
    关于在 KEIL C51 中嵌入汇编以及C51与A51间的相互调用
    点阵字库的生产原理(转)
    研华的数字输入/输出模块
    EQueue
    WIFI机器人网
    低成本自制航模电子设备系列(转)
    128階數的Shunt音量控制器
    LM3886-SVO純直流功率放大器
    强悍高效率 92% Nixie Tube 升压电路 12V升150-250V(转)
  • 原文地址:https://www.cnblogs.com/fengkun125/p/9147064.html
Copyright © 2011-2022 走看看