Hoy vamos a ver cómo transformar un conjunto de texto binario a texto normal, en español, ASCII o como le llames. En otras palabras vamos a decodificar texto binario en Python.
Es decir, transformar algo como “01101000,01101111,01101100,01100001” en “hola”. Para esto vamos a usar funciones para transformar números de base 2 a base 10, split y chr.
Vamos a tener una cadena como la siguiente:
01101000,01101111,01101100,01100001
Lo que haremos será separarla por comas con split
. Luego, vamos a recorrer cada valor del arreglo generado y convertir el número binario a número decimal en base 10.
Cuando ya tengamos el número en decimal (que representa el valor ASCII de la letra) lo convertimos a la letra. Por ejemplo, el 64 se convierte en @
.
Así que la función queda así:
def decodificar(mensaje):
numeros = mensaje.split(",")
decodificado = ""
for numero_binario in numeros:
numero_decimal = int(numero_binario, 2)
letra = chr(numero_decimal)
decodificado += letra
return decodificado
Como ves estamos usando la función int
para convertir el binario a decimal (el segundo argumento es la base desde donde transformamos). Luego usamos chr
para convertir el número a letra según su valor ASCII.
La función se puede probar enviándole una cadena con el texto en binario:
def decodificar(mensaje):
numeros = mensaje.split(",")
decodificado = ""
for numero_binario in numeros:
numero_decimal = int(numero_binario, 2)
letra = chr(numero_decimal)
decodificado += letra
return decodificado
codificado = "01101000,01101111,01101100,01100001"
decodificado = decodificar(codificado)
print("Decodificado es: ")
print(decodificado)
También puedes explorar más tutoriales de Python en mi blog.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.