zoukankan      html  css  js  c++  java
  • 编码格式转换

    1,id() 内存地址
    2, == 比较的是值
        is  比较的是内存地址
        数字,字符串,有小数据池,
        int -5--256
        str:1,不能有空格。
             2,长度不能超过20。
             3,不能有特殊字符如:#@.....

    3,enmurate枚举  iterable: str,list,tuple,dict,set
    for i in enmurate(iterable):
        pirnt(i)
    for i in enmurate(['barry','alex']):
        pirnt(i)  # (0,'barry') (1,'alex')
    for index,i in enmurate(['barry','alex']):
        pirnt(index,i)  # 0,'barry'
                          1,'alex'
    for index,i in enmurate(['barry','alex'],100):
        pirnt(index,i)  # 100,'barry'
                          101,'alex'
    4,编码
    py3:
        str:表现形式:s = 'alex'  实际编码方式:unicode
        bytes:表现形式:s = b'alex'  实际编码方式:utf-8,gbk,gb2312...
                        s =  b'x2ex2ex2ex2ex2ex2e'
        unicode:所有字符(无论英文,中文等) 1个字符:4个字节
        gbk:一个字符,英文1个字节,中文两个字节。
        utf-8:英文 1 个字节,欧洲:2个字节,亚洲:3个字节。

    #id 内存地址

    s = 'alex'
    print(s,type(s))
    print(s,type(s),id(s))
    li = [1,2,3,]
    print(li,type(li),id(li))
    输出:
    alex <class 'str'>
    alex <class 'str'> 35616336
    [1, 2, 3] <class 'list'> 34881672
    #is  比较的是内存地址
    #== 比较的是值
    # int     具有范围:-5---256
    #对于int 小数据池
    范围:-5----256 创建的相间的数字,都指向同一个内存地址
    #对于字符串 (面试)  1、小数据池 如果有空格,那指向两个内存地址,
    2、长度不能超过 20
            3、不能用特殊字符
    编码
    bytes 表现形式:s = b‘alex’内部存储是(utf-8,gbk,gb2313....)0101
                        s1 = '黎诗'
                        b11 = s1.encode('utf-8')
      中文:表现形式:    b'xe6x99x93xe6xa2x85'   (utf-8,gbk,gb2312...)010101
                0000 1000 0000 0000 0000 1000 0000 0000 0000 1000 0000 0000
    
                   s2 = '黎诗'
                   b22 = s1.encode('gkb')
                    print(b22)
                     
                    b'xcfxfexc3xb7'
      
     表现形式:b22 = s1.encode('gbk')
                    print(b22)
                    b'xcfxfexc3xb7'
      中文表现形式:s = b'xcfxfexc3xb7'    (utf-8,gbk,gb2312...)010101
                    0000 1000 0000 0000 0000 1000 0000 0000 
    
    str         表现形式:  s = ‘alex’   内部存储是  unicode 0101010

     
    字符串的存储方式是 unicode(发送的话先转换成bytes类型)
    传输发送以utf-8 gbk
    转化2个汉字
    utf-8-----------> xe6(3的倍数) gbk------>xcf (2的倍数)
    py3默认编码是unicode --先转化-->bytes类型
    中文转化是16进制
    unicode占内存较大
    gbk不能直接转化为utf-8,需要通过unicode这个媒介
  • 相关阅读:
    好代码收藏
    JVM
    关于Redis
    记录ok6410 使用ov9650摄像头的过程
    记录一下在uyuv 转 planar yuv420 的做法
    mini2440 使用的mkyaffs2image 工具的源码
    hi3516a imx178 uboot 默认启动参数
    记录ok6410 使用fast150u 无线网卡的过程 其中部分内容为转载 没有修改
    ubuntu建立tftp服务器有两种方式
    转载hi3516 sd 只读解决
  • 原文地址:https://www.cnblogs.com/jassin-du/p/7740597.html
Copyright © 2011-2022 走看看