-
-
Save parzibyte/aa085a41d11ae753e8d7bcaba14c22b9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
____ _____ _ _ _ | |
| _ \ | __ \ (_) | | | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___ | |
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \ | |
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/ | |
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___| | |
__/ | __/ | | |
|___/ |___/ | |
____________________________________ | |
/ Si necesitas ayuda, contáctame en \ | |
\ https://parzibyte.me / | |
------------------------------------ | |
\ ^__^ | |
\ (oo)\_______ | |
(__)\ )\/\ | |
||----w | | |
|| || | |
Creado por Parzibyte (https://parzibyte.me). | |
------------------------------------------------------------------------------------------------ | |
| IMPORTANTE | | |
Si vas a borrar este encabezado, considera: | |
Seguirme: https://parzibyte.me/blog/sigueme/ | |
Y compartir mi blog con tus amigos | |
También tengo canal de YouTube: https://www.youtube.com/channel/UCroP4BTWjfM0CkGB6AFUoBg?sub_confirmation=1 | |
Twitter: https://twitter.com/parzibyte | |
Facebook: https://facebook.com/parzibyte.fanpage | |
Instagram: https://instagram.com/parzibyte | |
Hacer una donación vía PayPal: https://paypal.me/LuisCabreraBenito | |
------------------------------------------------------------------------------------------------ | |
""" | |
separador = " " # Necesitamos un separador para cuando decodifiquemos esto | |
def ascii_a_binario(letra): | |
# Extraer su valor entero | |
valor = ord(letra) | |
# Convertirlo a binario | |
return "{0:08b}".format(valor) | |
def binario_a_ascii(binario): | |
# Convertir binario a decimal | |
valor = int(binario, 2) | |
# Convertir el decimal a su representación ASCII | |
return chr(valor) | |
def texto_a_binario(texto): | |
texto_binario = "" # El resultado | |
contador = 0 | |
for letra in texto: | |
texto_binario += ascii_a_binario(letra) | |
# Agregar un espacio entre binarios, excepto si es el último carácter | |
if contador + 1 < len(texto): | |
texto_binario += separador | |
contador += 1 | |
return texto_binario | |
def binario_a_texto(texto_binario): | |
texto_plano = "" | |
for binario in texto_binario.split(separador): | |
texto_plano += binario_a_ascii(binario) | |
return texto_plano | |
""" | |
Modo de uso | |
""" | |
texto_original = "Parzibyte" | |
texto_codificado = texto_a_binario(texto_original) | |
print(f"El texto '{texto_original}' es '{texto_codificado}' en binario") | |
# Decodificar | |
original = binario_a_texto(texto_codificado) | |
print(f"El texto binario '{texto_codificado}' es '{original}'") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment