那就是當把byte[]通過Convert.ToBase64String轉換成Base64編碼字符串時數據量明顯變大
Base64編碼的思想是是采用64個基本的ASCII碼字符對數據進行重新編碼。它將需要編碼的數據拆分成字節數組。以3個字節為一組。按順序排列24位數據,再把這24位數據分成4組,即每組6位。再在每組的的最高位前補兩個0湊足一個字節。這樣就把一個3字節為一組的數據重新編碼成了4個字節。當所要編碼的數據的字節數不是3的整倍數,也就是說在分組時最后一組不夠3個字節。這時在最后一組填充1到2個0字節。並在最后編碼完成后在結尾添加1到2個"="。( 注BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)
從以上編碼規則可以得知,通過Base64編碼,原來的3個字節編碼后將成為4個字節,即字節增加了33.3%,數據量相應變大。所以20M的數據通過Base64編碼后大小大概為20M*133.3%=26.67M。