-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problemas al utilizar .decode() sobre bytearray #350
Comments
Aprovecho de mencionar que esto ocurre independientemente de si convierte el int mediante int.to_bytes() con el endian "big" o "little" |
Hola @Larraguibel Lo que pasa es que usar
Siguiendo esa regla, no te debería aparecer problema. Aquí dejo un ejemplo usando el segundo caso numero = 2198372913721
codificacion = int.to_bytes(numero, length=20, byteorder="big")
print(codificacion) # b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xd9<\x929'
decodificacion = int.from_bytes(codificacion, byteorder="big")
print(decodificacion) # 2198372913721
print(decodificacion == numero) # True Espero que esto resuelva tu problema, sino estamos atentos al foro, |
Ahí encontré el error! Muchas gracias. Mi problema era el punto 1, porque nunca hago .encode() al mensaje. Aun así me queda una duda. Si quiero devolver esos bytes a su forma original (sea el formato que sea), ¿Cómo puedo hacerlo? Los únicos métodos que conozco para deserializar son json.loads y .decode(), y ninguno funciona. San google tampoco me ha dado más opciones jeje. |
Hola, No vas a poder volver a su forma original, porque nunca existió una forma original. Nosotros inventamos esa secuencia de bytes para ejemplificar la parte de encriptación (desordenar los bytes para que nadie vea su contenido) y desencriptación (reordenar los bytes para ver su contenido). Pero la parte de codificación (mensaje a bytes) y decodificación (bytes a mensaje) no la hicimos porque depende del estudiante decidir cómo hacer esa parte (json + encode o pickle). Por lo tanto, San Google tampoco encontrará la respuesta porque no existe 😅. Saludosヾ(^-^)ノ |
Prerrequisitos
(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")
Hola holaa
Espero que se encuentren bien.
Quería pedirles si me pueden explicar que significa este error, pues llevo muucho rato pegado.
Lo que hice fue convertir el int 9035055081007070022067059069067 a bytes, obteniendo el siguiente bytearray:
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00r\t\xd6ew\xb3\xf9\xab\xd5\x84\xda\x90\x8b')
Lo que no comprendo, es porque falla al intentar usar decode sobre el bytearray.
Gracias de antemano :)
[Describe tu duda de manera detallada, explicando qué cosas aparecen en el enunciado y cuáles no]
[De ser necesario, coloca tu pregunta de manera explícita utilizando este formato]
The text was updated successfully, but these errors were encountered: