• 小知识点


    Python中的print()中的括号可以不加,但是Python3的必须加

    Python2中有xrange,Python3中只有range

    Python中的raw_input在Python3中为input

    =等于号是赋值;==两个等号为比较两边的值是否相等;

    is为比较两边的内存地址,若内存地址相同就返回True,否则就返回False

    id() 括号内输入内容即可返回对应的内存地址

    小数据池:

    在字符串中有一个概念叫做“小数据池”,当相同的值赋给不同的变量,在一定的范围内,他们的内存地址是相同的,而这个范围指的就是“小数据池”!这样就可以节省空间

    小数据池的范围:数字范围:—5~256      

    字符串的范围:1、含有特殊字符不共用同一个内存地址

           2、str X 20的范围内共用同一个内存地址,超出20用不同的内存地址(20个相同的字符串用同一个内存地址,超出则用不同的内存地址)

     

    编码

    字节:是种单位。8位(bit)==一个字节

    字符:一个字符串或列表或字典元组等中的能看到的最小单位就是字符

    ASCII码:一个字符8(bit)==1字节 表示一个字符

    Unicode:一个字符32(bit)==4字节 表示一个字符

    utf-8:一个英文字符8(bit)==1字节   一个中文字符24(bit)==3字节  一个欧洲文字用16位==2个字节  表示一个字符

    gbk:一个英文字符8(bit)==1字节    一个中文字符16(bit)==2字节  表示一个字符

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

    文件的储存和传输不能使Unicode,因为占用资源太多。

    Python3中的字符串在内存中是用Unicode编码的

    bytes

    还有一种数据类型叫做bytes,与字符串极为相似,但编码方式不是Unicode

    对于英文:

    str的表现形式为:name = “aires”  编码方式为Unicode

    bytes的表现形式为:name = b“aires”   编码方式为utf- 8,gbk等除了Unicode外的任何一种。

    对于中文:

    str的表现形式为:name = “阿瑞斯” 编码方式为Unicode

    bytes的表象形式为:name = b‘xe56e56e56  (16进制) 编码方式为utf-8,gbk等除Unicode外的任何一种。

    str—>bytes 转换用:encode   编码转换

    name = “aires”

    name1 = name.encode("utf-8")  #将name的字符串编码方式转换为utf-8,可以转换别的,例如gbk

    print(name1)

    相反 bytes--->str 使用:decode   解码

    s = "asfgjkk"

    b = s.encode('utf-8')

    print(b)

    #byte --->str decode 解码

    s1 = b.decode('gbk')      #可用不同的编码方式进行解码(不确定)

    print(s1)

     

    后人发,先人至。扎实的基础可以更快的铸就高楼大厦!
  • 相关阅读:
    .net事件和委托
    DataFormatString使用笔记
    DropDownList 绑定 枚举 Enum
    iOS开发如何实现消息推送机制
    JQuery调用asp.net后台方法
    Android 服务器推送技术
    Jquery Ajax ashx DataTable 传参 获取参数 C#
    jquery 基础
    [Perl书籍合集]Perl eBooks Collection
    LISP之根源
  • 原文地址:https://www.cnblogs.com/aries-zhang/p/10338726.html
Copyright © 2020-2023  润新知