字节详解(python)

从ASCII、ANSI、Unicode一直到utf,编码的演变过程是怎样的呢?废话不多说,我们直入正题,了解各种编码的优、缺点吧!

1. 字符集和编码

    0、1  <=>  101011001  <=>  二进制转十进制  <=>  值
    电脑如何进行存储文字信息:
        10110100 <=> a


        ASCII => 编排了128个文字符号,只需要7个0和1就可以表示了. 01110100 => 1 byte    =>8bit (想了解python中ASCII的使用规则,详见:用python得到自定长度的验证码-CSDN博客)


        ANSI => 美国的一套标准,每个字符16 bit,即2 byte => 有65536种排列方式
        到了中国,形成gb2312编码,又改成bgk编码(现在使用的,Windows默认)
        到了日本,形成JIS编码


        Unicode:万国码
        早期Unicode没有意识到中国的汉字种类庞大,UCS-2 只有2个字节(byte)
        后来进行扩充,UCS-4 4个字节:00101001 00010101 11011110 01100110


        utf:是可变长度的Unicode,可以进行数据的传输和存储
        utf-8:最短的字节长度8(程序员常用的一种编码方式)
            英文:8bit,1byte
            欧洲文字:16bit,2byte
            中文:24bit,3byte
        utf-16:最短的字节长度是16

2. bytes

    程序员平时遇见的所有的数据最终的数据单位都是字节(byte)
    str.encode("编码类型")   # 编码
    bytes.decode("编码类型")   #解码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值