Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created March 12, 2021 02:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/aa085a41d11ae753e8d7bcaba14c22b9 to your computer and use it in GitHub Desktop.
Save parzibyte/aa085a41d11ae753e8d7bcaba14c22b9 to your computer and use it in GitHub Desktop.
"""
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
____________________________________
/ 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