Python String encode()
La fonction encode() de la chaîne Python est utilisée pour encoder la chaîne en utilisant l’encodage fourni. Cette fonction renvoie l’objet bytes. Si aucun encodage n’est fourni, l’encodage « utf-8 » est utilisé par défaut.
Python Bytes decode()
La fonction decode() de bytes Python est utilisée pour convertir des octets en objet chaîne. Ces deux fonctions nous permettent de spécifier le schéma de gestion des erreurs à utiliser pour les erreurs d’encodage/décodage. La valeur par défaut est « strict », ce qui signifie que les erreurs d’encodage déclenchent une UnicodeEncodeError. Quelques autres valeurs possibles sont « ignore », « replace » et « xmlcharrefreplace ». Regardons un exemple simple des fonctions encode() et decode() de la chaîne Python.
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)
Sortie:
<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
L’exemple ci-dessus ne démontre pas clairement l’utilisation de l’encodage. Regardons un autre exemple où nous obtiendrons des entrées de l’utilisateur et les encoderons ensuite. Nous aurons quelques caractères spéciaux dans la chaîne d’entrée saisie par l’utilisateur.
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)
Sortie:
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
Vous pouvez consulter le script Python complet et plus d’exemples Python depuis notre GitHub Repository.
Référence : Documentation de l’API str.encode(), Documentation de l’API bytes.decode()
Source:
https://www.digitalocean.com/community/tutorials/python-string-encode-decode