Python字符串编码()解码()的功能
Python字符串编码()确保给定字符串在特定编码下的存储形式或表示。
Python的字符串encode()函数用于使用指定的编码对字符串进行编码。该函数返回字节对象。如果不提供编码方式,默认使用“utf-8”编码。
Python的Bytes decode()函数
Python的bytes decode()函数用于将字节转换为字符串对象。这两个函数都允许我们指定用于处理编码/解码错误的错误处理方案。默认值是“strict”,意味着编码错误会引发UnicodeEncodeError。其他可能的值包括“ignore”、“replace”和“xmlcharrefreplace”。让我们来看一个简单的例子,使用Python的字符串encode()和decode()函数。
str_original = 'Hello'
bytes_encoded = str_original.encode(encoding='utf-8')
print(type(bytes_encoded))
str_decoded = bytes_encoded.decode()
print(type(str_decoded))
print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)
输出:
<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
以上的例子并未明确展示编码的使用。让我们看另一个例子,在这个例子中我们将从用户那里获取输入并进行编码。用户输入的字符串中将包含一些特殊字符。
str_original = input('Please enter string data:\n')
bytes_encoded = str_original.encode()
str_decoded = bytes_encoded.decode()
print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
您可以从我们的GitHub存储库中查看完整的Python脚本和更多的Python示例。
参考文献:str.encode() API文档、bytes.decode() API文档