何为编码

一、何为编码

简单地说就是,因为计算机只认识0和1,但是我们想要表达的东西却千千万,为了让计算机读懂我们所表达的意思,于是便出现了编码,即用0和1进行有序的排列,并且每一个有序排列都表达一个特定的含义。

二、编码发展史

首先要了解计算机的存储单位,bit(比特)以及Byte(字节),1Byte=8bit,即一个字节等于8个0,1组合。

1 阶段一:ASCII编码

起源于美国,由于他们用的是英文,而把键盘上所有键加起来都不超过110,所以只用1Byte(字节)表示。1Byte(字节)可以表示255个字符(即2的8次方减1)。

2 第二阶段

百家争鸣。各个国家都制定了自己的编码。而中国便出现了“gbk”系列编码(使用2Byte)。

3 第三阶段

为了沟通便利,于是出现了全能型编码Unicode(使用2Byte)

4 第四阶段

由于Unicode是统一用两个字节表示一个字符,对于使用全英文来说,太浪费存储空间了,于是为了节省空间以及优化数据的传输性能,便出现了utf-8(使用3Byte)编码,它可以自行判断并分配所需字节,从而节省了空间。但是它的运行速度要比Unicode慢。

三、python如何编码以及解码

# 例如:编码
a = "爱"  # 当程序执行时,字符会以unicode形式保存到内存空间中
unicode_gbk = a.encode("gbk")  # 以gbk编码格式进行编码
print(unicode_gbk, type(unicode_gbk))  # b'\xb0\xae' <class 'bytes'>
unicode_utf = a.encode("utf-8")  # 以utf-8编码格式进行编码
print(unicode_utf, type(unicode_utf))  # b'\xe7\x88\xb1' <class 'bytes'>
# 例如:解码
gbk_unicode = b'\xb0\xae'  # gbk格式字节码
utf_unicode = b'\xe7\x88\xb1'  # utf-8格式字节码
print(gbk_unicode.decode("gbk"))  # 爱
print(utf_unicode.decode("utf-8"))  # 爱

总结:
1、以什么格式编码,就以什么格式解码。
2、各个编码的相互转换:要先解码,再编码

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值