Python String encode()
La función encode() de cadena de Python se utiliza para codificar la cadena utilizando la codificación proporcionada. Esta función devuelve el objeto bytes. Si no proporcionamos una codificación, se utiliza “utf-8” como codificación por defecto.
Python Bytes decode()
La función decode() de bytes de Python se utiliza para convertir bytes en un objeto de cadena. Ambas funciones nos permiten especificar el esquema de manejo de errores a utilizar para los errores de codificación/decodificación. El valor por defecto es ‘estricto’, lo que significa que los errores de codificación generan un UnicodeEncodeError. Algunos otros valores posibles son ‘ignorar’, ‘reemplazar’ y ‘xmlcharrefreplace’. Veamos un ejemplo simple de las funciones encode() y decode() de cadena de 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)
Salida:
<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
El ejemplo anterior no demuestra claramente el uso de la codificación. Veamos otro ejemplo donde obtendremos entradas del usuario y luego las codificaremos. Tendremos algunos caracteres especiales en la cadena de entrada ingresada por el usuario.
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)
Salida:
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
Puedes consultar el script completo de Python y más ejemplos en nuestro Repositorio de GitHub.
Referencia: Documentación de la API str.encode(), Documentación de la API bytes.decode()
Source:
https://www.digitalocean.com/community/tutorials/python-string-encode-decode