ValueError: invalid literal for int() with base 2: " "
Publicado por Alejandro (1 intervención) el 15/11/2019 22:51:56
Este es el código para pasar de texto (cadenas) a binario y viceversa
Lo había hecho antes de corrido, es decir, sin métodos, y funcionaba de maravilla, tal vez es la forma en la que estoy gestionando las variables.
Éste es el código original
Les agradezco.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def encriptar():
mensaje=input('Digita el mensaje que quieres codificar:\n')
binario ="".join(f"{ord(i):08b}" for i in mensaje)
print('\t\t\t\t\t✔')
print('Tu mensaje ha sido encriptado con éxito\n')
print('El mensaje codificado es el siguiente:\n')
print(" ".join(f"{ord(i):08b}" for i in mensaje))
return binario
def desEncriptar(encriptado):
texto="".join(f"{ord(i):08b}" for i in encriptado)
bits = int(texto,2)
print('\t\t\t\t\t✔')
print('Tu mensaje ha sido desencriptado con éxito\n')
print('El mensaje descodificado es el siguiente:\n')
print(bits.to_bytes((bits.bit_length() + 7) // 8, 'big').decode())
def menu():
obtener=''
print('_______________________________________________')
print('\t\t BIENVENIDO AL FORMATEADOR DE MENSAJES\n')
opcion=int(input('Elige un opción\n\n1.Encriptar mensaje\n2.Desencriptar mensaje\n3.Salir\n'))
if(opcion==1):
obtener=encriptar()
menu()
elif(opcion==2):
desEncriptar(obtener)
menu()
else:
print('La opción no está disponible')
menu()
menu()
Lo había hecho antes de corrido, es decir, sin métodos, y funcionaba de maravilla, tal vez es la forma en la que estoy gestionando las variables.
Éste es el código original
1
2
3
4
s='hello student'
test="".join(f"{ord(i):08b}" for i in s)
bits = int(test, 2)
print(bits.to_bytes((bits.bit_length() + 7) // 8, 'big').decode())
Les agradezco.
Valora esta pregunta


0