Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

Base64(ベースシックスフォー)とは | 意味や読み方など丁寧でわかりやすい用語解説

Base64(ベースシックスフォー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ベースロクヨン (ベースロクヨン)

英語表記

Base64 (ベイ ス シックス フォー)

用語解説

Base64とは、バイナリデータをASCII文字列に変換し、テキストデータしか扱えないシステムやプロトコル上で安全にデータ転送や保存を可能にするエンコード方式である。画像ファイルや音声ファイル、プログラムファイルといったバイナリデータは、そのままではテキストベースの環境で破損したり、正しく扱えなかったりする問題がある。Base64は、このような問題を回避し、あらゆるバイナリデータをテキストとして確実に表現するための共通形式を提供する。

Base64のエンコードの仕組みは、元のバイナリデータを8ビットのまとまりから6ビットのまとまりに変換することに基づく。具体的には、3バイト(24ビット)のバイナリデータをひとまとまりとし、これを6ビットずつに区切ることで4つのまとまりを生成する。この6ビットで表現できる数値は0から63までの64種類であり、Base64はこれに対応する専用の64種類の文字セットを定義している。この文字セットは、大文字のA-Z、小文字のa-z、数字の0-9、そして特殊記号の「+」と「/」から構成される。これにより、元の3バイトのバイナリデータは、Base64の4文字のASCIIテキストデータに変換される。この変換の結果、元のデータに比べてデータサイズは約33%増加する。例えば、100KBのバイナリデータは、Base64エンコードによって約133KBのテキストデータになる。また、元のバイナリデータのバイト数が3の倍数でない場合、エンコードの最終段階でパディング処理が行われる。これは、残ったデータに対して末尾に0を補い、6ビットのまとまりに調整した後、余分な部分を「=」記号で埋めることで行われる。「=」記号はデコード時に元のバイナリデータの長さを正確に復元するために利用される。

Base64は様々なシーンで利用されている。代表的なものとしては、電子メールの添付ファイルの送信が挙げられる。メールプロトコルであるSMTPは7ビットASCIIテキストしか安全に扱えないため、MIME(Multipurpose Internet Mail Extensions)という仕組みの中で、バイナリファイルをBase64でテキストに変換してからメールに添付する方式が標準として採用されている。

また、Webアプリケーションにおいても広く利用される。HTMLやCSSファイルの中に画像データを直接埋め込む際に、data: URIスキームと組み合わせてBase64エンコードされた画像データが用いられることがある。これは、個別の画像ファイルに対するHTTPリクエストを削減し、特に小さなアイコン画像などにおいてはWebページの読み込み速度向上に寄与する場合がある。さらに、JSONなどのテキストベースのAPI通信において、バイナリデータをメッセージボディに含めて送信する際にもBase64が利用される。

Base64はデータの互換性を高める便利な技術であるが、利用にあたってはいくつかの注意点がある。まず、データサイズが約33%増加するため、大量のデータをBase64エンコードして通信・保存する際には、ネットワーク帯域やストレージ容量への影響を考慮する必要がある。次に、Base64はデータを「可読性の低い文字列」に変換するだけであり、暗号化とは異なる。エンコードされたデータは、専用のデコード処理を行えば誰でも簡単に元のバイナリデータに復元できてしまう。したがって、機密性の高い情報を保護する目的でBase64を単独で使用することは適切ではない。セキュリティが必要な場合は、SSL/TLSなどの暗号化技術と併用することが不可欠である。Base64は、バイナリデータを安全に転送・保存するための「橋渡し役」として理解することが重要である。

関連コンテンツ