esta é minha string base64 "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8=".
Em python2 o seguinte código funciona
print("lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8=".decode('base64', 'strict'))
enquanto em python3 onde não há str.decode('base64', 'strict') não está disponível. Tentei fazer a mesma coisa em python3 abaixo
b64EncodeStr4 = "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8="
print(len(b64EncodeStr4))
decodedByte = base64.b64decode(bytes(b64EncodeStr4, 'ascii'))
print(decodedByte)
decodeStr = decodedByte.decode('ascii', 'strict')
print(decodeStr)
Eu tentei outra codificação, como utf-8, utf-16, utf-32. Mas nada funciona. Qual é a melhor abordagem aqui para converter base64 em string regular em python3.
Responder1
decodeStr = decodedByte.decode('ascii', 'ignore')
Responder2
No Python3, basta usar base64.b64decode. (Não se esqueça de importar o módulo base64.)
Paraexemplo:
import base64
b64_string = "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8="
decoded_bytes = base64.b64decode(b64_string)
decoded_string = decoded_bytes.decode('latin1')
print(decoded_string)