• Python之基本数据类型


    可变数据类型:列表,字典,集合

    不可变数据类型(一创建,不能修改):整型,元组,字符串

    字符编码:

      ASCII编码。最多只能用8位来表示一个字节。ASCII编码最多只能表示255个符合。

      GB2312和GBK和GB18030。支持中文。

      Unicode万国码。搞全有。utf-32 = 4字节   utf-16 = 2字节   utf-8 = 8bits 可变长编码,英文一个字节,中文三个字节

      二进制位=bit(位)(最小表示单元)

      8bit = 1byte(字节)(最小存储单元)

        bytes    字节类型  (二进制类型)就是一个8bits的字节

            所有的字符要存到内存里,硬盘里,都是bytes格式。

            在py2中,看到的字符串都是bytes。str == bytes数据

                            Unicode == Unicode编码后二进制数据

            在py3中, str == Unicode

                 bytes == bytes数据

      在字符编码的转换过程是:先解码,decode,再编码,encode。

      所有的字符存在内存中,硬盘里,都是bytes类型。

       在Python2中,看到的字符串,都是bytes。

      

       字节数据和Unicode数据的区别:

                    print(repr())打印编码

                    字节数据:x 开头

                    Unicode数据:u 开头

    name = "George"
    name2 = b'Hello'   #字节数据
    
    print(type(name.encode('GBK')))    #编码
    print(type(name2.decode('utf-8')))  #解码 

      在Python2里,字节类型的数据可以和Unicode类型的数据,进行字符串拼接。

      在Python3里,两种不同的字节类型,不能进行拼接操作。

    Python3 不同字节类型的数据进行拼接的报错信息:

    TypeError: must be str, not bytes

    注意点:

        1、Unicode,utf-8,GBK 都是编码规则。

        2、为什么内存存储Unicode。

        3、程序执行前后的两个状态。

    进制转换:

        值      8  4  2  1

        二进制位   0  0  0  0  

      二进制:0 1

      八进制( Oct ):0 1 2 3 4 5 6 7

      十进制():0 1 2 3 4 5 6 7 8 9

      十六进制( 0x(前缀)或BH(后缀) ):0 1 2 3 4 5 6 7 8 9  A   B   C   D   E   F

                                  10  11   12  13  14  15

  • 相关阅读:
    细说MS事务管理
    大话设计模式(含源码)下载
    CSS基础到提高(PPT、视频、源代码),网页布局不用愁
    Android开发中Layout中明明改了id,但是还出现"cannot be resolved or is not a field"的原因
    读《OO真经》有感,以及我自己的关于哲学的体会
    Web服务小试牛刀
    在Android的RaletiveLayout中,如果空间的相对位置矛盾将不显示此控件
    .net 面试题2
    敏捷软件转
    中英文标点
  • 原文地址:https://www.cnblogs.com/george92/p/7363660.html
Copyright © 2020-2023  润新知