Manejo del relleno incorrecto en la decodificación de Python Base64
Al decodificar datos codificados en base64 en Python con base64.decodestring(), puede encontrar un Error de "relleno incorrecto". Para evitar este problema, puedes considerar varios enfoques.
1. Agregar relleno
Como se sugiere en la respuesta aceptada, simplemente puede agregar el máximo de caracteres de relleno posibles antes de decodificar. En Python 3.x, base64.b64decode() truncará automáticamente cualquier relleno adicional, lo que la convierte en una solución sencilla y efectiva.
base64.b64decode(s b'==')
2. Uso de un decodificador alternativo
Un enfoque alternativo es utilizar un decodificador diferente que ignore los problemas de relleno. Por ejemplo, el método decodestring() del módulo binascii permite un relleno incorrecto:
import binascii
binascii.decodestring(b64_string)
3. Ignorar la validación
Al decodificar con base64.b64decode(), el parámetro de validación se puede establecer en False para ignorar los errores de validación, incluido el relleno incorrecto. Se recomienda este enfoque si tiene confianza en la integridad de los datos codificados.
base64.b64decode(s, validate=False)
4. Usando Openssl
La herramienta externa openssl proporciona una forma confiable de decodificar datos base64, incluso con un relleno incorrecto. Puede utilizar el comando enc de la siguiente manera:
openssl enc -d -base64 -in b64string -out binary_data
Nota: Es importante considerar el comando correcto enfoque basado en los requisitos específicos y la integridad de los datos codificados.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3