一、字符编码

1.ASCII码:包含英文、数字、特殊字符,8位=1字节byte =1个字符,如: 0010 1010

ASCII码表里的字符总共有256个,前128个为常用的字符如运算符,后128个称为扩展ASCII码。

 2. Unicode(万国码):将所有国家的语言全部包含在这个密码本中。

初期:16位,两个字节,表示一个字符。
      A : 00010000 00010010
     中: 00010010 00010010
     升级:32位,四个字节,表示一个字符。(32位造成资源浪费)
     A : 00010000 00010010 00010000 00010010
     中: 00010010 00010010 00010010 00010010

Python2x,unicode默认是两个字节表示一个字符,可以编译安装时调整。

Python3x, unicode统一是四个字节表示一个字符。

 3. utf-8:最少用8位表示字符

英文:8位表示1个字符,如:00010000

欧洲:16位表示两个字节表示一个字符,如:00010000 01000100

亚洲:24位三个字节表示一个字符,如:00010000 01000100 00010000

4.GBK:国标,只包含英文、中文

英文:8位,1个字节表示一个字符,如:000 0001

中文:16位,两个字节表示一个字符,如:0000 0001 0000 0001

二、单位换算 

  • 8 bit = 1 byte
  • 1024 byte = 1 kb
  • 1024 kb = 1 MB
  • 1024 MB = 1 GB
  • 1024 GB = 1 TB

 三、编码之间的转换

1.编码之间的二进制是互不相识的。

2.用于存储和传输的010101不能是unicode的010101。(utf-8和gbk是在unicode基础上写出来的)

3.数据类型bytes:与str的用法相同。

python3x中的str在内存中的编码方式是unicode,不能直接存储和发送,bytes的编码方式是非unicode(utf-       8、gbk.....等)。

   4.str与bytes类型的表现形式和内部编码

对于英文:

str       表现形式:s='laonanhai'

内部编码:unicode

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

内部编码:非unicode(utf-8,gbk等)

对于中文:

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

内部编码:unicode

bytes  表现形式:s1=b'\xe4\xb8\xad\xe5\x9b\xbd'

内部编码:非unicode(utf-8,gbk等)

 5.str与bytes之间的转换

str---->bytes   s.encode('gbk')   编码

bytes---->str   s.decode('gbk')   解码

s='alex'
s1=s.encode('utf-8') #编码
s2=s1.decode('utf-8') #解码
print(s2)
执行结果:alex

   6.编码的转换

utf-8不能直接转换成gbk,要通过unicode转换

 四、小数据池

int和str有小数据池,目的是为了节省空间。

1. int: -5—256在同一内存地址

2.str:如果含有特殊字符不存在小数据池。

str*int  int>20不存在小数据池(单个str)

 五、 is和==

        ==是数值的比较

is是内存地址的比较

Python基础—编码(Day2)的更多相关文章

  1. Python 基础 编码

    Python 基础 编码 咱们的电脑,存储和发送文件,发送的是什么?电脑里面是不是有成千上万个二极管,亮的代表是1,不亮的代表是0,这样实际上电脑的存储和发送是不是都是010101啊 我们发送的内容都 ...

  2. Python基础篇-day2

    主要内容: for循环 while循环 格式化输出(2) 数据统计及记录 ############################################################# 1 ...

  3. Python基础-编码与解码

      一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简而言之,就是将人能够读懂的信息(通常称为明文)转换为计算机能够读懂的信息.众所周知,计算机能够读懂的 ...

  4. 【转】python基础-编码与解码

    [转自:https://www.cnblogs.com/OldJack/p/6658779.html] 一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简 ...

  5. python基础之day2

    python基本数据类型 1.数字 int(整型)      在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647  在64位系统 ...

  6. python基础-编码_if条件判断

    一.第一句Python代码 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: [root@python-3 scripts]# cat hello.py #!/usr/bin/ ...

  7. python基础1 day2

    一.上节课回顾1. 编译型: 将源码一次性全部编译成二进制. C 优点:执行效率高. 缺点:开发效率慢,不可跨平台使用. 解释型: 当程序执行时,代码一行一行的去解释成二进制. python 优点:开 ...

  8. python基础 (编码进阶,文件操作和深浅copy)

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...

  9. Python基础,day2

    程序练习 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买 ...

随机推荐

  1. Webstorm安装与配置

    一 下载 链接:https://pan.baidu.com/s/1gKxzGWvnoCpXPoe8zzfLnQ 提取码:5lyf 二 安装 https://www.jb51.net/softs/598 ...

  2. Win7升级Win11升级记录及教程 【错误码(0×8004242d)】

    hellow,大家好,我是公众号棱镜Prism K的[K君].家中电脑因为一些原因不得不进行升级,下面是我对这次电脑升级所进行的记录. step 1.打开微软官网,找到对应的WIN11下载模块,这里注 ...

  3. 【C++】自定义数据类型

    自定义数据类型 标签:c++ 目录 自定义数据类型 一.结构体 定义方法: 特点: 成员访问方式: 初始化: 结构数组 指针和动态内存分配: 结构变量作为函数参数: 二.联合 定义方法: 特点: 举例 ...

  4. Spring boot + Vue axios 文件下载

    后端代码: @GetMapping("/{sn}") @ApiOperation(value = "获取文件",notes = "获取文件" ...

  5. Servlet虚拟路径匹配规则

    当 Servlet 容器接收到请求后,容器会将请求的 URL 减去当前应用的上下文路径,使用剩余的字符串作为映射 URL 与 Servelt 虚拟路径进行匹配,匹配成功后将请求交给相应的 Servle ...

  6. C# 同步 异步 回调 状态机 async await Demo

    源码 https://gitee.com/s0611163/AsyncAwaitDemo 为什么会研究这个? 我们项目的客户端和服务端通信用的是WCF,我就想,能不能用异步的方式调用WCF服务呢?或者 ...

  7. nginx模块lnmp架构

    目录 一:关于lnmp架构 二:目录索引模块 1.目录索引模块内容 1.开启目录索引(创建模块文件) 2.测试 3.重启nginx 4.配置域名解析DNS 5.网址测试 二:目录索引(格式化文件大小) ...

  8. 沁恒CH32F103C8T6(三): PlatformIO DAPLink和WCHLink下载配置

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  9. Linux查看CPU历史负载

    sar -f /var/log/sa/sa20 -s 02:00:00 -e 06:00:00 | head -n 50 sysstat工具与负载历史回放 很多系统负载过高的时候我们是无法立即获知或者 ...

  10. 深度评测丨 GaussDB(for Redis) 大 Key 操作的影响

    本文分享自华为云社区<墨天轮评测:GaussDB(for Redis)大Key操作的影响>,作者: 高斯 Redis 官方博客. 在前一篇文章<墨天轮评测:GaussDB(for R ...