1、ASCII码
不支持 中文
支持 英文、数字、一些特殊符号
存储 1个字节
2、gbk 国标码
支持 中文、英文、数字、符号,兼容ASCII
存储 英文 2个字节
中文 2个字节
3、Unicode 万国码
支持 中文、英文、数字、符号,兼容ASCII
存储 英文 4个字节
中文 4个字节
4、utf-8 长度可变的万国码
存储 至少用8位
英文 1个字节
欧洲 2个字节
中文 3个字节
5、utf-16 长度可变的万国码
存储 至少用16位
注意事项:
(1)Python2中,默认使用ASCII。
(2)Python3中,程序运行阶段,默认使用Unicode(在内存中),定长,方便计算,显示所有内容;在传输和存储都是使用bytes类型,pycharm存储的时候默认使用utf-8。
(3)在网络传输和数据存储的时候,换gbk(只在国内使用), utf-8(90%)。
代码演示:
# -*- encoding:utf-8 -*- 声明在文件中 中文的编码格式
# 编码
s="python"
# encode("utf-8") 指定要 编码成什么编码类型
print(s.encode("UTF-8")) # b'python' 在硬盘中用bytes
s1="吃了吗"
s2=s1.encode("utf-8")
print(s2) # b'\xe5\x90\x83\xe4\xba\x86\xe5\x90\x97' 用3个字节
print(s1.encode("gbk")) # b'\xb3\xd4\xc1\xcb\xc2\xf0' 用2个字节
# 解码
# 用什么编码就用什么解码
print(s2.decode("utf-8")) # 吃了吗
总结:
encode(编码方式):拿到明文编码后的字节
decode(解码方式):将编码后的字节解码成对应的明文
858

被折叠的 条评论
为什么被折叠?



