鉴于编码为Base64编码字符串的数据,我可以通过查看Base64编码字符串的长度以某种方式计算已编码仅的原始数据的实际长度吗?
如果没有必要,我不想遍历字符串(这还包括对编码字符串的trailling字符进行字符串操作以检查填充)。
答案 0 :(得分:12)
除非您查看填充,否则无法计算精确长度。在不寻找填充的情况下,您可以做的最好的事情是通过将编码字符串长度乘以3/4来计算长度的上限(编码长度保证可以被4整除)。
因此计算的上限可以是N
,N+1
或N+2
,其中N
是原始数据的长度。