エンコーダーは貼り付けたテキストを UTF-8 のバイト列として読み取り、対応する Base64 文字列を返します。設定項目、API サンプル、テスト fixture がプレーンテキストではなく Base64 文字列を求めるときに結果を確認できます。
URL-safe モードを有効にすると、padding は削除され、plus と slash の文字は hyphen と underscore に置き換えられます。このページは貼り付けたテキストだけを処理するため、ファイルの読み取りや完全な data URL prefix の生成は行いません。
入力と出力のパネルの下にある「このテキストが Base64 になる仕組み」を開きます。Man、啪、👋 を試すと、Unicode コードポイントから UTF-8 バイト、6-bit グループ、Base64 文字までの流れを確認できます。6-bit グループを選択すると、対応する元の文字、バイト、出力文字が強調表示されます。分解図は先頭 12 Unicode コードポイントを独立してエンコードするため、最後のグループや padding が、テキスト全体を処理するメインの出力と異なる場合があります。
このテーマに関するよくある疑問と回答をまとめました。
入力パネルにテキストを貼り付けると Base64 の出力が得られます。例えば Man は TWFu になります。「このテキストが Base64 になる仕組み」を開くと、Unicode コードポイント、UTF-8 バイト、6-bit グループ、出力文字を確認できます。グループを選ぶと、その Base64 文字に対応する元の文字とバイトを調べられます。
UTF-8 は Unicode コードポイントを 1〜4 バイトで表します。ASCII の英字は 1 バイトですが、啪は 3 バイトで、標準 Base64 では 5ZWq になります。👋 は 4 バイトで、8J+Riw== になります。Base64 はこれらのバイトをエンコードするため、出力の長さは見た目の記号数だけでなく、バイト数によって決まります。
標準 Base64 は 3 バイトを 4 文字に変換します。最後のブロックが 1 バイトなら ==、2 バイトなら = を追加します。M は TQ==、Ma は TWE=、Man は TWFu になります。この padding はデータを増やさずに 4 文字のブロックを埋めます。最後の 6-bit グループも、必要に応じて 0 のビットで埋められます。
Base64URL は + と / を - と _ に置き換えます。このツールでは Base64URL モードで = の padding も省略するため、👋 の出力は 8J+Riw== から 8J-Riw になります。padding が必要か省略できるかは受信側のプロトコルやアプリケーションの規則によって異なり、Base64URL で常に禁止されているわけではありません。
影響しません。メインの出力は入力したテキスト全体をエンコードします。分解図は読みやすさのため、先頭 12 Unicode コードポイントだけを独立してエンコードします。完全な Base64 の出力を切り取ったものではないため、最後の 6-bit グループや padding が全体の出力と異なる場合があります。また、1 コードポイントが見た目の 1 文字と一致するとは限りません。
このエンコーダーは貼り付けたテキストだけを扱い、画像やその他のファイルのアップロードには対応していません。完全な data URL の接頭辞も生成しません。Base64 はエンコード形式であり、暗号化ではありません。出力を持つ人は誰でもデコードできます。Base64 テキストを求める API、設定項目、テストには使えますが、秘密情報の保護には使えません。
入力したテキストは JavaScript によってブラウザ内でエンコードされ、変換のためにサーバーへ送信されません。これはエンコード処理についての説明であり、ウェブサイト自体が一切ネットワーク通信を行わないという意味ではありません。