输入的base64编码字符串必须符合base64的padding规则。
“当原数据长度不是3的整数倍时,在编码结果后加1到2个“=”;使其符合3的倍数。这样才可以保证资料还原的正确性。
修正的python代码为:
import base64
# base64解码函数
def D_BASE64(origStr):
#当输入的base64字符串不是3的倍数时添加相应的=号
if(len(origStr)%3 == 1):
origStr += "=="
elif(len(origStr)%3 == 2):
origStr += "="
# origStr = bytes(origStr, encoding='utf8') # 看情况进行utf-8编码
dStr = base64.b64decode(origStr) //base64解码
return dStr