[日积月累]-2018-6-24:早期 Delphi 版本 Base64 解码需要注意的一点小问题

早期的 Delphi DecodeBase64 对于不是正常以 = 号结束的 Base64 编码内容进行解码时,结尾会解出乱码,造成程序运行时出问题,要解决这一问题,应对其进行补位,加上一定数量的 “=”,以解决此问题。需要补位的 “=” 个数的计算公式:

n=( mod 4)

n=0 :不需要补位

n>0:补 4-n 个 “=”

具体的算法就不写了,有兴趣的自己写下吧,新版的 Delphi 不需要这一操作了,至少最新版我测试是没有问题的。

分享到: