2011-07-25 2254 views
10

给定数据编码为Base64编码的字符串,我可以以某种方式计算已编码的原始数据的实际长度只有通过查看Base64编码的长度串?从Base64编码的字符串长度计算实际数据大小

我不想遍历字符串,如果没有必要的(这也包括在编码字符串的字符trailling字符串操作检查填充)。

+0

看看http://stackoverflow.com/questions/14954248/how-to-create-byte-with-length-16-using-frombase64string的相关问题,与一些样品 – Lijo

回答

11

确切长度,除非你看看填充无法计算。如果不寻找填充,你可以做的最好的方法是通过将编码字符串长度乘以3/4来计算长度的上限(编码长度保证可以被4整除)。

的上限计算从而将或者NN+1N+2,其中N是原始数据的长度。

+1

是啊,这是个愚蠢的一。无论如何感谢您的回答。 –