이것은 내 base64 문자열 "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8="입니다.
Python2에서는 다음 코드가 작동합니다.
print("lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8=".decode('base64', 'strict'))
반면에 str.decode('base64', 'strict') 가 없는 python3에서는 사용할 수 없습니다. 나는 아래와 같이 Python3에서 동일한 작업을 시도했습니다.
b64EncodeStr4 = "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8="
print(len(b64EncodeStr4))
decodedByte = base64.b64decode(bytes(b64EncodeStr4, 'ascii'))
print(decodedByte)
decodeStr = decodedByte.decode('ascii', 'strict')
print(decodeStr)
utf-8, utf-16, utf-32와 같은 다른 인코딩도 시도했습니다. 그러나 아무것도 작동하지 않습니다. Python3에서 base64를 일반 문자열로 변환하는 가장 좋은 방법은 무엇입니까?
답변1
decodeStr = decodedByte.decode('ascii', 'ignore')
답변2
Python3에서는 간단히 base64.b64decode를 사용하세요. (base64 모듈을 가져오는 것을 잊지 마세요.)
을 위한예:
import base64
b64_string = "lFKiKF2o+W/vvLqddOdv2ttxWSUX/SSZEyqcdyDDb+8="
decoded_bytes = base64.b64decode(b64_string)
decoded_string = decoded_bytes.decode('latin1')
print(decoded_string)