#python&bytes发展过程

1.字符集和编码
0 1 => 1010101010 => 二进制的转化 <=> 88
电脑如何进行存储文字信息
1000000 <=> a
ascii =>编排了128个文字符号。 只需要 7个0和1就可以表示了。 01111111 => byte => 8bit
ANSI => 编排128个文字符号。只需要7个0和1就可以表示了。01111111 => 1byte => 8bit
00000000 01111111

到了中国,gb2312编码,gbk编码(winwos 默认的就是这个)
01000000 0101010101 => k

到了日本 , JIS编码
到了日本 , JIS编码
01000000 0101010101 => 圥

Unicode: 万国码。 中文 =>
早期Unicode没有意识到这个问题。 UCS-2 2个字节。
进行了扩充, UCS-4 4个字节
00000000 00000000 00000000 01111111

utf:是可变长度unicode,可以进行数据传输和存储 =>  行书 ,草书,隶书
utf-8:   最短的字节长度8
     英文: bit ,1byte
    欧洲文字: 16bit ,2byte
    中文:24bit ,3byte
utf-16: 最短的字节长度16

总结:
1. ascii: 8bit,1byte
2. gbk: 16bit,2byte windows默认
3.unicode:32bit 4byte(没法用,只是一个标准)
4.utf-8: mac默认
英文:8bit ,1byte
欧洲:16bit,2byte
中文:24bit,3byte

       gbk和utf-8不能直接就进行转化
       我军密码本 => 文字 => 敌军密码本

2.bytes(一堆的字本)
程序员平时遇见的所有的数据最终单位都是字节byte

案例

s = ‘周杰伦’
bs1 = s.encode(‘gbk’) # b ‘xxxx’ bytes类型(一堆字节)
bs2 = s.encode(‘utf-8’)
print(bs1)
print(bs2)

怎么把一个gbk的字节转化成utf-8的字节
bs = b’\xd6\xdc\xbd\xdc\xc2\xd7’
先变成文字符号(字符串)
s = bs.decode(‘gbk’)
bs2 = s.encode(‘utf-8’)
print(bs2)

  1. str.encode(‘编码’) 进行编码
  2. bytes.code(‘编码’) 进行解码

s = ‘你好abc呵呵哒’
print(s.encode(‘utf-8’))

s1 = ‘awerew’
print(s1.encode(‘utf-8’))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值