📅  最后修改于: 2020-01-13 11:54:31             🧑  作者: Mango
在Python 2中,str和byte都是相同的typeByte对象,而在Python 3中,Python 3中定义的Byte对象是“ 字节序列 “,类似于Python 2中的“ unicode “对象。对于字符串和字节对象,他们中的一些描述如下:
`
我们讨论下字节对象转换为String并将String转换为字节对象的方法。
PNG,JPEG,MP3,WAV,ASCII,UTF-8等是不同形式的编码。编码是一种格式,以字节为单位表示音频,图像,文本等。将字符串转换为字节对象称为编码。这是必要的,以便可以使用ASCII或UTF-8编码技术通过映射,将文本存储在磁盘上。
编码这个任务是使用encode()实现的。它以编码技术为参数,默认技术是“ UTF-8 “。
# Python代码,展示string的编码
# 初始化字符串
a = '芒果文档'
# 初始化byte对象
c = 芒果文档'
# 使用encode()编码 String,使用ASCII编码
# 并存入d
d = a.encode('ASCII')
# 检查是否a被编码成bytes
if (d==c):
print ("编码成功")
else : print ("编码失败")
输出:
编码成功
同样,解码是将Byte对象转换为String的过程。它是使用define()实现的。如果您知道使用哪种编码来编码的string,则可以将字节字符串解码回肉眼可读字符串。编码和解码是相反的过程。
# Python代码,展示解码
# 初始化String
a = '芒果文档'
# 初始化byte对象
c = 芒果文档'
# 使用decode()对c进行ASCII解码
d = c.decode('ASCII')
# 检查c时候成功解码
if (d==a):
print ("解码成功")
else : print ("解码失败")
输出:
解码成功