Base64
データの変換方式だよ
データを64文字の文字(a~z、A~Z、0~9、+、/)と「=」で表現するよ
メールの添付ファイルの変換で よく使われるよ
簡単に書くよ
Base64(読:ベース64)とは
データを他の形式へ変換するやり方(エンコード方式)のひとつ
であり
メールの添付ファイル
(メールにくっつけて送られるファイル)を変換するときに、よく使われるエンコード方式
です。
中身としては
すべてのデータを「a~z」「A~Z」「0~9」「+」「/」の64文字と「=」の組み合わせに変換するやり方
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・メール
・ファイル
・添付ファイル
・エンコード
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
メールは「パソコンさんの世界の お手紙機能」です。
話を単純化するために「パソコンさん」と書きましたが、携帯電話やスマホ、その他諸々の媒体でも使えます。
ファイルは、コンピュータの世界における「書類」です。
こちらも、普通に「ファイル」で分かりますよね?
添付ファイルは「メールにくっつけたファイル」です。
エンコードは「データを他の形式へ変換すること」です。
以上を踏まえて
メールの添付ファイルを変換するときによく出てくるエンコード方式
が「Base64」です。
「エンコード方式」という表現が難しかったら「データの変換ルール」と読み替えてください。
みなさんもメールに添付ファイルをくっつけて送ったことがあると思います。
添付ファイルとしてくっつけられるファイルは文字データとは限りません。
画像ファイルでも、動画ファイルでも、圧縮ファイルでも、くっつけて送れます。
とはいえ、実際にはメールで送れるのは文字だけです。
ファイルは(そのままでは)送れません。
それでは、どうやってファイルを送っているのでしょうか。
実はファイルを「文字の集まり」に変換して送っているのです。
例えば、そうですね。
ピヨ太君が自画像をピヨ子さんに送ろうとしたとしましょう。
ピヨ太君はメールに自画像をくっつけます。
メールにくっついた自画像は特定のルールに従って文字の集まりに変換されます。
ピヨ子さんに送られるメールの中身は文字だけです。
ピヨ子さんの元に到着したメールは、特定のルールに従って逆変換されます。
文字の集まりがピヨ太君の自画像に戻ります。
文字だけしか送れないメールでピヨ太君の自画像(ファイル)が送れましたね。
これが添付ファイルの仕組みです。
さて、この仕組みにおいて、特定のルールに従って
・ファイル→文字の集まり
・文字の集まり→ファイル
と変換しました。
この変換で使う「特定のルール」のひとつがBase64です。
今回はメールの添付ファイルの例で説明しましたが、Base64は添付ファイル専用のエンコード方式では ありません。
他のところでBase64方式での変換をする場合もあると思います。
またメールの添付ファイルのエンコード方式が必ずBase64とも限りません。
他のやり方で変換している場合も あります。
とはいえ「Base64」という用語が出てくるのは添付ファイルの話が多いはずです。
Base64はメールの添付ファイルを変換するときによく使われるエンコード方式
と覚えておけば、そんなに困ることはないと思います。
以上でBase64の大雑把な説明は終わりです。
次に、Base64の中身について、もう少しだけ詳しく説明します。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
先ほど、メールの添付ファイルの例を挙げたときに
実はファイルを「文字の集まり」に変換して送っているのです
と書きました。
Base64では、この「文字の集まり」を
・a~z(26文字)
・A~Z(26文字)
・0~9(10文字)
・+と/(2文字)
の64文字と「=」で表現します。
例えば、そうですね。
あ
をBase64でエンコードすると
44GC
に なります。
あるいは、そうですね。
ピヨ太
という単語をBase64でエンコードすると
44OU44Oo5aSq
に なります。
せっかくなので、もう一例いきましょう。
IT用語
という単語をBase64でエンコードすると
SVTnlKjoqp4=
に なります。
すべて
・a~z(26文字)
・A~Z(26文字)
・0~9(10文字)
・+と/(2文字)
の64文字のどれかと「=」で表現されていますよね。
もちろん、文字だけでは ありません。
画像も、動画も、圧縮ファイルも、すべて
・a~z(26文字)
・A~Z(26文字)
・0~9(10文字)
・+と/(2文字)
の64文字のどれかと「=」の組み合わせに変換されます。
だから「base」「64」です。
Base64はベースとなる文字64個でデータを表現するやり方です。
一言でまとめるよ
まぁ「Base64」って単語が出てきたら「データを64文字(と『=』)の組み合わせに変換するやり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「base(ベース)」の意味は「基底」とか「土台」とかです。
64は「64」ですね。
何となく くっつけると
基底が64(個の文字)
となります。






