python —— 编码

编码:

用来存放一位0或1,就是计算机里最小的存储单位,叫做【位】,也叫【比特】(bit)。我们决定8个比特构成一个【字节】(byte),这是计算机里最常用的单位。

在这里插入图片描述

1 byte = 8 bit
也就是一个字节等于8比特

在这里插入图片描述

编码表按照时间顺序有以下:

在这里插入图片描述

编码表就是计算机世界的字典

计算机是有自己的工作区的,这个工作区被称为“内存”,数据在内存当中处理时,使用的格式是Unicode,统一标准.

在python3当中,程序处理我们输入的字符串,是默认使用Unicode编码,所以输入什么语言都可以识别。

1. 数据在硬盘上存储,或者是在网络上传输,用的是UTF-8,因为节省空间,但我们不必操心如何转换utf-8和Unicode ,当我们点击保存的时候,程序已经“默默地”帮我们做好了编码工作。
2.一些中文的文件和中文网站 ,还在使用GBK,和GB2312。

有时候面对不同的编码的数据,我们要进行一些操作来实现转换。这里就涉及接下来要讲的【encode】(编码)和【decode】(解码)的用法。

在这里插入图片描述

编码:即将把人类的语言转换为计算机语言,就是【编码】 encode();
解码:decode()

在这里插入图片描述

print('吴枫'.encode('utf-8'))
print('吴枫'.encode('gbk'))
print(b'\xe5\x90\xb4\xe6\x9e\xab'.decode('utf-8'))
print(b'\xce\xe2\xb7\xe3'.decode('gbk'))

运行结果:

在这里插入图片描述
人类语言编码之后得到的结果,有一个相同之处,就是最前面都有一个字母b,比如b'\xce\xe2\xb7\xe3',这代表它是bytes(字节)类型的数据。我们可以用type()函数验证一下。

print(type('吴枫'))
print(type(b'\xce\xe2\xb7\xe3'))
# 字母b 表示bytes 字节
#\x 是分隔符,用来分隔一个字节和另一个字节

运行结果:

在这里插入图片描述
由这个可见,所谓的编码,其实就是把str(字符串)类型的数据,利用不同的编码表,转换成bytes(字节)类型的数据。

用decode()解码的时候要注意,utf-8 编码的字节一定要用utf-8的规则解码,其他编码同理,否则就会出现乱码或者报错的情况。

print(b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode('UTF-8'))

运行结果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值