base64解碼后是亂碼 Base64編碼為什么會使數(shù)據(jù)量變大?
Base64編碼為什么會使數(shù)據(jù)量變大?Base64編碼的思想是用64個基本ASCII字符重新編碼數(shù)據(jù)。它將要編碼的數(shù)據(jù)拆分為字節(jié)數(shù)組。以3字節(jié)為一組。按順序排列24位數(shù)據(jù),然后將24位數(shù)據(jù)分成4組,即
Base64編碼為什么會使數(shù)據(jù)量變大?
Base64編碼的思想是用64個基本ASCII字符重新編碼數(shù)據(jù)。它將要編碼的數(shù)據(jù)拆分為字節(jié)數(shù)組。以3字節(jié)為一組。按順序排列24位數(shù)據(jù),然后將24位數(shù)據(jù)分成4組,即每組6位。然后在每組的最高位前面填充兩個零,組成一個字節(jié)。這樣,一組3字節(jié)的數(shù)據(jù)被重新編碼為4字節(jié)。當要編碼的數(shù)據(jù)的字節(jié)數(shù)不是3的整數(shù)倍時,也就是說,最后一組小于3字節(jié)。此時,最后一個組將填充1到20個字節(jié)。并在最后編碼后的末尾加上1到2“=”。(注:Base64字符表:abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzo123456789/)
從上面的編碼規(guī)則可以看出,通過Base64編碼,原來的3個字節(jié)會變成4個字節(jié),即字節(jié)數(shù)會增加33.3%,數(shù)據(jù)量也會相應增加。所以Base64編碼的20m數(shù)據(jù)的大小約為20m*133.3%=26.67m。