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这个媒介
  • 相关阅读:
    Linux下Socket编程之地址结构
    矫正Fedora 8中livna源Nvidia驱动托付关连
    Firefox3 RC1颁布各种新特征发扬阐发更平定
    Fedora 8中完全开启compizfusion特效
    编译安置gsopcast SVN版
    Sopcast for linux更新至3.01!
    措置惩罚Fedora 8中的装备权限标题成绩
    vsftp假造用户设置(Ubuntu8.04)
    QQ2008贺岁版 on FedoraBy wine 0.9.58
    vFU NET
  • 原文地址:https://www.cnblogs.com/jassin-du/p/7740597.html
Copyright © 2011-2022 走看看