Base64 エンコード
テキストを即座に Base64 にエンコード。すべての処理はブラウザ内で行われ、データがデバイスから送信されることはありません。
64 文字で、無限のデータを
Base64 は 64 個の印刷可能な ASCII 文字を使用して任意のバイナリデータを表現します。アルファベットは以下で構成されます:
オプションの 65 番目の文字(=)が末尾のパディングに使用されます。
テキストが Base64 になる仕組み
バイトに分割
テキストがバイトに変換されます。各文字は 8 ビットの数値になります。
ビットを結合
すべてのバイトが一つの長いビットストリームに連結されます。
6 ビットずつグループ化
ビットストリームが 6 ビットのグループに分割されます。各グループが 1 つの Base64 文字にマッピングされます。
文字にマッピング
各 6 ビットグループ(0-63)が Base64 アルファベットの文字にマッピングされます。
実用的な応用例
データ URL
小さな画像を個別の HTTP リクエストなしに HTML や CSS に直接埋め込みます。
メール添付ファイル
MIME はバイナリ添付ファイルを Base64 テキストとしてエンコードし、テキストのみのメールシステムで送信可能にします。
API と設定
JSON 設定、環境変数、Kubernetes Secrets にバイナリシークレット、証明書、鍵を保存します。
Base64 の簡潔な歴史
Base64 コンセプトの誕生
Base64 エンコードの概念は、テキストのみのチャネルでバイナリデータを送信するための初期のメールシステムで登場しました。
MIME の提案
MIME(多目的インターネットメール拡張)が提案され、メールで非テキストデータを送信する問題を解決しました。
RFC 1341 の公開
Base64 は RFC 1341 で MIME の一部として正式に標準化され、今日使用されている 64 文字のアルファベットが定義されました。
データ URL の実装
Netscape Navigator 4 が data: URL を初めて実装し、後に RFC 2397(1998)で標準化され、HTML でのインラインリソース埋め込みが可能になりました。
現代の Web での使用
Base64 は JWT トークンから CSS 埋め込み、API、WebSocket バイナリデータ処理まで、あらゆるところで使われています。
よくある質問
データはサーバーに送信されますか?
いいえ。すべての Base64 エンコードとデコードは JavaScript を使用してブラウザ内で完全に行われます。データがデバイスから送信されることはありません。
UTF-8 に対応していますか?
はい!エンコーダーは国際文字、絵文字、特殊記号を含む UTF-8 文字を正しく処理します。
URL セーフな Base64 はどうですか?
URL セーフオプションを有効にすると + と / の代わりに - と _ を使用します。デコーダーは標準と URL セーフの両方の Base64 形式を自動的に処理します。