• 2.关于字符串


    关于字符串存储时的数据类型如图(无耻的盗了老师的图):

     

    一.首先在python2.x版本环境下

    1.在python2.x版本中:解释过程种遇到字符串会有两种类型解释

     (1)str类型:对应的是bytes数据,就是除了unicode的其他编码方式编码后的二进制数据 —> 其他国家语言

     (2)unicode类型:对应的是unicode数据,也就是unicode编码后的二进制数据 —> 都看得懂的通用语言

    2.str和unicode不要被迷惑,他们只是人为起的名字而已,而后面的代表这个类型会存成什么数据。都是二进制,只是类型不同,两者对应关系:

    unicode编码成bytes

    bytes解码成unicode

    所有bytes都是通过unicode编码而来的

     

    3.字符串在python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

    decode的作用是将其他编码的字符串转换成unicode编码。

    encode的作用是将unicode编码转换成其他编码的字符串。

    因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成相应的编码。必须与代码本身编码一致!

    二.在python3.x版本环境下

    (1)str类型:对应的是unicode数据,也就是unicode编码后的二进制数据 —> 都看得懂的通用语言

    (2)bytes类型:对应的是bytes数据,就是除了unicode的其他编码方式编码后的二进制数据 —> 其他国家语言

     总结:byes最终就是用来存储或传输用的,而unicode就是用来显示用的,将bytes转成明文。

    (3)在python里面明确的将字节跟字符分开了。

    三.内存指令。

    例如在python中定义一个变量 a=1

    a=1什么意思:开辟一块内存空间,python通过a对应的内存地址(门牌号)找到对应的值。

    a=2呢:开辟一块新的内存空间,而1会被某程序占用或者回收。 

     参考详细资料:http://www.cnblogs.com/yuanchenqi/articles/5956943.html  

  • 相关阅读:
    10.2 查找同一组或分区中行之间的差
    8.7 确定当前记录和下一条记录之间相差的天数
    8.6 计算一年中周内各日期的次数
    8.5 确定两个日期之间的秒、分、小时数
    8.4 确定两个日期之间的月份数或年数
    8.2 计算两个日期之间的天数
    8.3 确定两个日期之间的工作日数目
    8.1 加减日、月、年
    7.13 计算不包含最大值和最小值的均值
    第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述
  • 原文地址:https://www.cnblogs.com/mrpengfei/p/6659950.html
Copyright © 2020-2023  润新知