Base64のサイズ増加率の計算
元データのサイズを入れると、Base64でエンコードしたあとのサイズと、増加率を計算します。
計算方法
Base64は、3バイトのデータを4文字の英数字に変換するしくみです。3で割り切れない端数は切り上げて4文字ぶんにそろえるため、サイズが増えます。
エンコード後のサイズ = 切り上げ(元データのサイズ ÷ 3) × 4
増加率 =(エンコード後のサイズ − 元データのサイズ) ÷ 元データのサイズ × 100
例:1KB(1,024バイト)のデータをBase64にすると、エンコード後は1,368バイトになり、約33.59パーセント増加します。
データの量がちょうど3の倍数のバイト数だと、端数がなく増加率は理論上の最小値(約33.33パーセント)に近づきます。
出典:Base64の標準的な変換方式(3バイトを4文字に変換し、端数は切り上げるという定義そのもの)
PR
よくある質問
なぜ約33パーセントも増えるのですか?
3バイト(24ビット)を6ビットずつ4つに分けて、それぞれを1文字の英数字で表すためです。1文字あたりの情報量が元のバイトより少なくなる分、全体のサイズが大きくなります。
データの中身によって増加率は変わりますか?
変わりません。Base64はデータの中身にかかわらず、3バイトを4文字に変換するしくみなので、増加率はサイズだけで決まります(端数の扱いで多少の差は出ます)。
画像をBase64で埋め込むと通信量も増えますか?
増えます。HTMLやCSSに直接埋め込む場合、このツールで出た増加後のサイズぶん、転送量が増えることになります。