zoukankan      html  css  js  c++  java
  • 编码

    1.id(内存地址)
    s = 'alex'
    print(s,type(s))
    print(s,type(s),id(s))
    li = [1,2,3]
    print(li,type(li),id(li))
    #== is
    s1 = 'alex '
    s2 = 'alex '
    print(s1 == s2)
    print(s1 is s2)
    对于int 小数据池
    范围:-5---256 创建的相同的数字,都指向同一个内存地址。
    对于字符串:小数据池 如果说有空格,那指向两个内存地址,其他应该是一个。

    列表,字典,元祖,set
    == 比较的是值
    2.is 比较的是内存地址
    l1 = [1,]
    l2 = [1,]
    print(l1 == l2) # True
    print(id(l1),id(l2))
    print(l1 is l2) #False
    3.编码
    py3:
    int

    bytes 表现形式: s = b'alex' 内部存储是(utf-8,gbk,gb2312.....)010101
    s1 = '晓梅'
    b11 = s1.encode('utf-8')
    表现形式: s = b'xe6x99x93xe6xa2x85' (utf-8,gbk,gb2312.....)010101
    0000 1000 0000 0000 0000 0001 0000 1001 0000 0000 0000 0001
    s2 = '晓梅'
    b22 = s1.encode('gbk')
    print(b22)
    b'xcfxfexc3xb7'
    表现形式: s = b'xcfxfexc3xb7' (utf-8,gbk,gb2312.....)010101
    0000 1000 0000 0000 0000 0001 0000 1001
    str 表现形式: s = 'alex' 内部存储是 unicode 0101010

    py3:
    unicode A :00000000 00000000 00000000 00001001 四个字节
    中 :00000000 00001000 00000000 00000001 四个字节

    utf-8 A :00000001 一个字节
    欧洲@ : 00000010 00000001 两个字节
    亚洲 中 : 00001000 00000000 00000001 三个字节
    中国:00001000 00000000 00000001 00001001 00000000 00000001

    gbk A : 00001001 1个字节
    中 :00000000 00100001 两个字节
    不同的编码之间是不能相互识别,会产生乱码。

    存储,传输的:utf-8,或者 gbk,或者是gb2312,或者是其他(绝对不是unicode)。
    4.转化
    s = 'Q'
    b1 = s.encode('utf-8')
    print(b1) #b'Q'

    b2 = s.encode('gbk')
    print(b2) #b'Q'

    s1 = '晓梅'
    b11 = s1.encode('utf-8')
    print(b11) #b'xe6x99x93xe6xa2x85'
    s2 = '晓梅'
    b22 = s2.encode('gbk')
    print(b22) #b'xcfxfexc3xb7'
     
     
  • 相关阅读:
    ORA-28001 has expired错误密码过期问题
    Oracle数据库无用户名密码登录
    使用Navicat连接Oracle数据库出现12541或者28547错误代码
    Solr的helloWord程序
    JS工具方法
    python发送邮件
    jmeter的性能监控框架搭建记录(Influxdb+Grafana+Jmeter)
    spotlight on mysql 监控
    linux下安装python环境
    yum的方式搭建mysql
  • 原文地址:https://www.cnblogs.com/caochao-/p/7744831.html
Copyright © 2011-2022 走看看