• python中一些小的知识点


    1:只有数字,字符串有小数据池

    小数据池:在一定范围内,即使分别给两两个变量赋相等的值,它们的id地址还会是相同的

    数字范围: -5 ~ 256

    字符串:1:不能有特殊字符

         2:str*20 还是同一个地址,str*21就不是同一个地址

    2:编码

    ascll: 

      A: 00000001  8位  一个字节

    unicode:

      A: 00000001   00000001   00000001   00000001  32位  四个字节

      中: 00000001   00000001   00000001   00000001  32位  四个字节

    utf-8: 

      A: 00000001  8位  一个字节

      中: 00000001   00000001   00000001  24位  三个字节

    gbk:

      A: 00000001  8位  一个字节

      中:00000001   00000001  16位  两个字节

    1:各个编码之间的二进制是不能相互识别的,会产生乱码

    2:文件的储存,传输,不能是unicode,只能是其他几种

    3.python3中的编码

    1:python3中str在内存中是用unicode编码的

    2:bytes类型:str进行存储和传输需要用到

    3:表现形式与编码方式:

                 对于英文

                str:表现形式:s = 'python'

                   编码方式:00000...  unicode

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

                    编码方式:0000...  utf-8, gbk等 

    1 s = 'python'                                            
    2 s1 = b'python'                                          
    3                                                         
    4 print(s,type(s))    # 输出结果:  python <class 'str'>       
    5 print(s1,type(s1))  # 输出结果:  b'python' <class 'bytes'>  

                                       对于中文:

                str:表现形式:s = '中国'

                   编码方式:00000...  unicode

                bytes:表现形式:s = b‘xe23e34e65e32e90e67'

                    编码方式:0000...  utf-8, gbk等 

    1 s = '中国'                                                                                                             
    2 s1 = b'中国'                                                                                                           
    3 print(s,type(s))                                                                                                     
    4 print(s1,type(s1))         #输出结果:     File "C:/Users/XZB/PycharmProjects/s1/day5/第一次考试试题.py", line 133               
    5                            #              s1 = b'中国'                                                                 
    6                            #                  ^                                                                      
    7                            #          SyntaxError: bytes can only contain ASCII literal characters.                  
    8                                                                                                                      

    4.如何将str编码成bytes?

     1 #英文                                                                                     
     2 s = 'python'                                                                            
     3 s1 = s.encode('utf-8')                                                                  
     4 s2 = s.encode('gbk')                                                                    
     5 print(s1,s2)                #输出结果:b'python' b'python'                                   
     6                                                                                         
     7 #中文                                                                                     
     8 s = '中国'                                                                                
     9 s1 = s.encode('utf-8')                                                                  
    10 s2 = s.encode('gbk')                                                                    
    11 print(s1,s2)                #输出结果:b'xe4xb8xadxe5x9bxbd' b'xd6xd0xb9xfa'       
    12                                                                                         
  • 相关阅读:
    Java日历表
    递归实现文件的大小计算
    将机器学习的个性化推荐与社会化机制相结合
    设计模式——抽象工厂模式
    从mysql到nosql
    设计模式——Adapter模式(变压器)
    Java 正则匹配
    对象集合转换为datatable
    sql1
    Oracle Index 相關知識
  • 原文地址:https://www.cnblogs.com/rcat/p/9281748.html
Copyright © 2020-2023  润新知