zoukankan      html  css  js  c++  java
  • 3.23 day6 编码

    a = 1000

    b = 1000

    print(a==b) True

    #两个等号比较的是数值

    #is比较的是内存位置

    print(a is b) false

    print(id(a))

    print(id(b))

    内存地址不一样,相当于门牌号

    #小数据池:在一定范围内设定一样的值,共用位置节省空间

    #数字 在-5-256范围

    #字符串:1.如果含有特殊字符,不存在小数据池 2.单个字符在int(20)以内有小数据池

    #其他都不存在数据池

    #编码

    1.编码之间的二进制互不识别

    2.文件的储存和传输通过0101010,但是不能用unicode,浪费空间

    python3当中的编码

      python3当中的str在内存中的编码方式是unicode,不能直接储存和传输

    bytes类型的编码方式是非unicode,是utf-8和gbk

    英文

      str:表现形式 s=‘laonanhai’

        内部编码:unicode

      bytes:表现形式 s=b‘laonanhai’

        内部编码:非unicode

    中文

      str: 表现形式 s='老男孩‘

        内部编码:unicode

      bytes:表现形式 s=b'xe8x80x81xe7x94xb7xe5xadxa9'

        内部编码:非unicode

    s = '老男孩'
    s1 = s.encode('utf-8')
    print(s1)
    编码的补充
    s = 'alex'
    s1 = s.encode('utf-8')
    编码 unicode -> utf-8
    s2 = s.encode('gbk')
    编码 unicode -> gbk
    
    s3 = s1.decode('utf-8')
    print(s3)
    解码 utf-8转化成unicode
    
    如何将gbk转化成utf-8?是不能直接转化的,只能先转到unicode,再转换
    s = 'alex'
    s1 = s.encode('gbk')
    print(s1)
    s2=s1.decode('gbk').encode('utf-8')
    print(s2)
    
    s = '老男孩'
    s1 = s.encode('gbk')
    print(s1)
    s2=s1.decode('gbk').encode('utf-8')
    print(s2)

    b'alex'
    b'alex'
    b'xe8x80x81xe7x94xb7xe5xadxa9'
  • 相关阅读:
    阿里云OSS学习
    spring学习(十二)--spring中WebApplicationInitializer解析
    spring学习(十)--WebApplicationInitializer接口替代web.xml启动spring容器
    tomcat学习(二)--tomcat配置详解
    tomcat学习(一)--tomcat请求过程
    WEB工程中web.xml文件基本配置
    MAVEN学习(九)--利用nexus创建私服供上传下载jar包
    NGINX学习(九)--nginx配置示例
    Django所有ORM总结
    ORM一般操作
  • 原文地址:https://www.cnblogs.com/kateli/p/8648494.html
Copyright © 2011-2022 走看看