python字符串encode()decode()
时间:2020-02-23 14:43:24 来源:igfitidea点击:
Python字符串encode()
Python字符串encoding()函数用于使用提供的编码对字符串进行编码。
此函数返回bytes对象。
如果我们不提供编码,则默认使用" utf-8"编码。
Python字节的decode()
Python字节的bytes()函数用于将字节转换为字符串对象。
这两个功能使我们能够指定用于编码/解码错误的错误处理方案。
默认值为"严格",表示编码错误会引发UnicodeEncodeError。
其他一些可能的值是"忽略","替换"和" xmlcharrefreplace"。
让我们看一个简单的python字符串encode()encode()函数示例。
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