关于python中编码的小总结

ascall码

ascall码包含128和英文字母和特殊字符的编码格式,其中0-31和最后一个字符为控制字符(不能够显示,但是能起到控制作用),剩下的字符为可显示字符,有95个,每个字符都占用一个字节,由于一个字节为八个比特位,所以最多能表示2的8次方个不同的字符。由于python被整出来的时候,主要还是ascall编码方式,unicode编码还没有出来,所以早期的python版本,如python2采用的是ascall编码方式。

unicode

unicode编码又称为万国码,它包含几乎每个国家的每个文字所对应的编码方式,比如我们中国的gbk编码,几乎包含了每个汉字的编码格式,由于一个字节需要八个比特位,这八位完全不足以表示汉字,所以unicode为了能够适应国际的需求,将ascall码原来存储一个字符为一个字节的基础上,进行了修改,修改为一个字符用两个字节来存储,所以原来ascall中的字符之前所对应编码格式,高位进行了补0,虽然unicode满足了国际的需求,但是也留下了一个重要的问题,那就是对于一个可以用一个字节足以完成编码的字符,却变成了两个字节,这样也大大浪费了很多的空间。python3采用的编码方式为unicode编码。

utf-8

utf-8是ascall和unicode中间的一种格式编码,它具有伸缩性,它在unicode编码的基础上进行了完善,对于仅用一个字节可以表示的字符不用两个字节,这样就很好地节省了很大的空间,utf-8目前也是采用最为普遍的编码方式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值