2011-07-25 157 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

是啊,這是個愚蠢的一。無論如何感謝您的回答。 –