• python day06 补充知识和和编码


    #python2和python3区别

    #python2

    #print() print 'abc'
    #range() xrange() 生成器
    # raw_input()

    #python3
    #print('abc')
    #range()
    # input()

    # = 赋值 == 比较值是否相等   is 比较,比较的是内存地址  id(内容)

    # li1 = [1,2,3]
    # li2 = li1
    # li3 = 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))

    如何将str转换成bytes

    python2

    # s = 'alex'
    # s1 = b'alex'
    # print(s,type(s))
    # print(s1,type(s1))
    
    # s = '中国'
    # print(s,type(s))
    # s1 = b'中国'
    # print(s1,type(s1))

    python3

    s1 = 'alex'
    # encode 编码,如何将str --> bytes, ()
    s11 = s1.encode('utf-8')
    s11 = s1.encode('gbk')
    print(s11)
    s2 = '中国'
    s22 = s2.encode('utf-8')
    s22 = s2.encode('gbk')
    print(s22)

    #编码

    ascii
                A : 00000010  8位 一个字节
    unicode     A : 00000000 00000001 00000010 00000100 32位  四个字节
                中:00000000 00000001 00000010 00000110 32位  四个字节
    utf-8       A :  00100000 8位 一个字节
                中 :  00000001 00000010 00000110 24位 三个字节
    gbk         A : 00000110  8位 一个字节
                中  : 00000010 00000110 16位 两个字节

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

    python3

    str 在内存中是用unicode编码。
            bytes类型
            对于英文:
                 str  :表现形式:s = 'alex'
                        编码方式: 010101010  unicode
                bytes :表现形式:s = b'alex'
                        编码方式: 000101010  utf-8 gbk。。。。
    
            对于中文:
                 str  :表现形式:s = '中国'
                        编码方式: 010101010  unicode
                bytes :表现形式:s = b'xe91e91e01e21e31e32'
                        编码方式: 000101010  utf-8 gbk。。。。

     #编码解码

    #str --->byte  encode 编码
    # s = '二哥'
    # b = s.encode('utf-8')
    # print(b)
    # #byte --->str decode 解码
    # s1 = b.decode('utf-8')
    # print(s1)
    
    
    # s = 'abf'
    # b = s.encode('utf-8')
    # print(b)
    # #byte --->str decode 解码
    # s1 = b.decode('gbk')
    # print(s1)
  • 相关阅读:
    元数据 缓存 池 模式
    ContractPattern 面向面向契约模式
    第三方登录 ----转载自简书,作者 <<碧霄问鼎>>
    证书那些事
    导航(NavanavigationController)push和pop
    iOS app上传错误集锦(转载)
    Block 的基本用法
    正则表达式的用法 转载
    UIView
    UIDate(时间)
  • 原文地址:https://www.cnblogs.com/liujinlei/p/9844790.html
Copyright © 2020-2023  润新知