Python3编码

ASCII
A:0000 0010 8位 一个字节

Unicode
A:00000000 00000000 00000000 00100000 32位 4字节
中:00000000 00000000 00000110 00000110 4个字节

utf-8
A:0011 0010
中 :00000010 00000011 00010000 24位 3个字节

gbk
A:00100001 八位一个字节
中:00001000 10110100 16位两个字节

1.各个编码之间的二进制是不能互相识别的,会产生乱码
2.文件的储存,传输,不能是Unicode(字节数大,耗流量),只能是utf-8 utf-16 gbk gb2312 ASCII等

py3:
str在内存中是用Unicode编码
bytes类型
对于英文:
str 表现形式:s=“alex”
编码方式: 01010101 Unicode
bytes表现形式:s=b"alex"
编码方式:00101010 gbk utf-8…
对于中文:
str 表现形式:s=“中国”
编码方式: 01010101 Unicode
bytes表现形式:s=b"x\e91\e91\e34\e23"
编码方式:00101010 gbk utf-8…

表现形式是将str转换成bytes类型
内部是将Unicode转换成gbk 或者utf-8
encode 编码
s1=“alex”
s11=s1.encode(“utf-8”)
print(s11)

s2=“中国”
s22=s2.encode(“utf-8”)
s23=s2.encode(“gbk”)
print(s22) #b’\xe4\xb8\xad\xe5\x9b\xbd’ 6个字节 每个字用三个字节表示
print(s23)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值