Python String encode()
La funzione encode() di stringa di Python viene utilizzata per codificare la stringa utilizzando l’encoding fornito. Questa funzione restituisce l’oggetto bytes. Se non forniamo un encoding, viene utilizzato l’encoding “utf-8” come predefinito.
Python Bytes decode()
La funzione decode() di bytes di Python viene utilizzata per convertire i byte in un oggetto stringa. Entrambe queste funzioni ci permettono di specificare lo schema di gestione degli errori da utilizzare per gli errori di encoding/decoding. Il valore predefinito è ‘strict’, il che significa che gli errori di encoding generano un UnicodeEncodeError. Alcuni altri valori possibili sono ‘ignore’, ‘replace’ e ‘xmlcharrefreplace’. Vediamo un semplice esempio delle funzioni di encode() e decode() delle stringhe di 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)
Output:
<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
L’esempio precedente non dimostra chiaramente l’uso dell’encoding. Vediamo un altro esempio in cui otterremo input dall’utente e successivamente lo codificheremo. Avremo alcuni caratteri speciali nella stringa di input inserita dall’utente.
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)
Output:
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
Puoi controllare lo script completo di Python e altri esempi di Python dal nostro Repository GitHub.
Riferimento: Documento API di str.encode(), Documento API di bytes.decode()
Source:
https://www.digitalocean.com/community/tutorials/python-string-encode-decode