Hoy vamos a ver cómo desarrollar el algoritmo para convertir binario a texto en C también conocido como ANSI C; es decir, haremos un traductor o convertidor binario a texto.
Recuerda que en posts anteriores vimos cómo hacer lo contrario, es decir, convertir texto a binario.
Las funciones que vamos a ver son strtok y la función que hicimos para convertir un número binario a uno decimal en ANSI C.
Traductor binario a texto en C
El algoritmo es realmente sencillo. Vamos a tener una cadena que va a representar el binario (puedes leerla del usuario con fgets), pueden ser varios octetos; separados por un espacio. Por ejemplo:
Después vamos a separar cada octeto con el espacio como delimitador, usando strtok; obteniendo un octeto a la vez (es decir, 8 bits, el carácter en binario)
Cuando tengamos el octeto, convertimos el binario a decimal, lo que nos dará el código ASCII, que fácilmente podemos convertir a char
.
Una vez que tenemos el char
, podemos imprimirlo directamente o guardarlo en una variable; yo haré lo primero.
Hablar es de mal gusto, muéstrame el código
Así que vamos a ver el código de conversión de binario a texto en C. Definimos algunas variables, entre ellas el delimitador. También imprimimos el texto original, es decir, en binario:
Ahora separamos la cadena por espacios con strtok
:
Si no entiendes bien cómo funciona strtok
mira esto. Necesitamos la función que convierte:
Finalmente, dentro del ciclo while
de strtok
convertimos e imprimimos:
Poniendo todo junto
El código completo se ve así:
Si lo ejecuto con la cadena que mostré al inicio, aparece:

Te dejo dos enlaces interesantes. Si quieres ver el traductor de texto a binario, haz click aquí.
En caso de que quieras aprender más sobre C haz click aquí.
He intentado mucho sobre como leer el mensaje o texto binario hacia el usuario con el fgets la cual no termino de comprender como es posible leer o guardar ese dato del usuario mediante cual variable debo asignar para almacenarlo en el fgets
me seria de mucha ayuda alguna solución a esta.
Hola. Gracias por sus comentarios. Si tiene alguna consulta, solicitud de creación de un programa o solicitud de cambio de software estoy para servirle en https://parzibyte.me/#contacto
Saludos!