编码问题
ASCII编码
A :00000010 8位 一字节 1个英文字符
Unicode编码
A:00000010 00000010 00000010 00000010 32位 四个字节 1个英文字符
中:00000010 00000010 00000010 00011010 32位 四个字节 1个中文字符
utf-8编码
A:00110011 8位 一个字节 1个英文字符
中:00110011 00110011 00110011 24位 三个字节 1个中文字符
gbk编码
A:00110011 8位 一个字节 1个英文字符
中:00110011 00110011 00110011 16位 两个字节 1个中文字符
PS:注意
- 各编码之间的二进制,是不能互相识别的,会产生乱码。
- 文件的存储,传输,不能用Unicode(只能是utf-8、utf-16、gbk、gb2312、ASCII等)
- Python3:str在内存中是用Unicode编码。
bytes 类型
- 对于英文:
- str :表现形式: s = "run"
- 编码方式:0101110101 Unicode
- bytes:表现形式: s = b"run"
- 编码方式: 0101010101 utf-8 gbk
- 对于中文:
- str:表现形式:s = "中国"
- 编码方式:0101010101 Unicode
- bytes:表现形式:s = bxe91e01e21e31e32
- 编码方式: 0001000010 utf-8 gbk
s1 = run
# uncoud 编码,如何将str---->bytes, ()
# s11 = s1.encode(utf-8)
# s11 = s1.encode(gbk)
# print(s11)
s2 = "中国"
s22 = s2.encode(utf-8)
print(s22)
解码问题
s = kum
b = s.encode(utf-8)
print(b)
# byte ---> str decode 解码
s1 = b.decode(utf-8)
print(s1)
#Python##笨办法学Python 3##python打卡#
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。