zoukankan      html  css  js  c++  java
  • day6 基础总结和编码方式

    # = 赋值 == 比较值是否相等 is 比较内存地址
    li1 = [1, 2, 3]
    li2 = li1
    print(li1 is li2)
    print(id(li1), id(li2))
    
    #数字,字符串 小数据池
    #数字的范围: -5 -- 256 ;
    '''
    字符串:   1,不能含有特殊字符
              2, s*20还是同一个地址,s*21及以后是不同地址
    '''
    i1 = 6
    i2 = 6
    print(id(i1), id(i2))
    i1 = 300
    i2 = 300
    print(id(i1), id(i2))
    
    # 剩下的 list dict tuple set
    l1 = [1, ]
    l2 = [1, ]
    print(l1 is l2)
    
    s = 'alex'
    s1 = b'alex'
    print(s1,type(s1))
    
    s = "中国"
    print(s, type(s))
    s1 = b"中国" //报错
    print(s1, type(s1))
    
    s1 = 'alex'
    # encode 编码,如何将 str-->bytes,()内自定义编码方式
    s11 = s1.encode('utf-8')
    print(s11)
    
    s2 = '中国'
    s22 = s2.encode('gbk')
    print(s22)

    编码方式总结:

    ascii
    A:00000010 一个字节8位

    unicode
    A: 00000000 00000001 00000010 00000100 32位 4个字节
    中:00000000 00000001 00000010 00000110 32位 4个字节

    utf-8
    A: 0010 0000 8位 1个字节
    中: 00000001 00000101 00000011 24位 3个字节

    gbk
    A: 00000010 8位 1个字节
    中: 00000001 00000010 16位 两个字节

    1,各个编码之间的二进制,是不能互相是别的,会产生乱码
    2,文件的储存,传输,不能是Unicode(只能是utf-8, utf-16, gbk, gb2312, ascii等)

    py3:
    str 在内存中是Unicode储存的.
    bytes类型
    对于英文:
    str : 表现形式 s = 'alex'
    内部编码方式: 0101011100.... Unicode
    bytes:表现形式 s = b'alex' #将str用bytes编码
    内部编码方式: 0101011100.... utf-8 gbk.....
    对于中文:
    str : 表现形式 s = '中国'
    内部编码方式: 0101011100.... Unicode
    bytes:表现形式 s = b'xe91e91e54e61e32e21' #将str用bytes编码 16进制编码
    内部编码方式: 0101011100.... utf-8 gbk.....
  • 相关阅读:
    js正則表達式语法
    购买DigtalOcean VPS 以及 连接Linux
    UVA 246
    牵一发动全身【Nhibernate基本映射】
    jquery.validate+jquery.form提交的三种方式
    [Python] 发送email的几种方式
    递归算法浅谈
    最小二乘法多项式曲线拟合原理与实现
    王立平-Android中对图像进行Base64编码
    [置顶] EasyMock的简单使用
  • 原文地址:https://www.cnblogs.com/77-is-here/p/10440732.html
Copyright © 2011-2022 走看看