0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
設定
テキストを Base64 でエンコードおよびデコードし,複数の文字エンコーディングをサポートします。URL-safe 変換では,
+ を - に,/ を _ に置き換え,= のフィルは削除します (RFC 4648 §5)。仕組み
Base64 は 64 個の印字可能な ASCII 文字でデータを表します。入力 3 バイトごとに 4 文字になるため、結果は元より約 33% 大きくなります。
暗号化でも圧縮でもなく、誰でもデコードできる可逆的な符号化です。テキスト専用に設計された経路でバイナリデータを運ぶために使われます。
URL セーフのバリアント(RFC 4648 §5)は + と / の代わりに - と _ を使い、= のパディングを省くため、結果をエスケープせずに URL やファイル名に含められます。
例
Hello WorldSGVsbG8gV29ybGQ=CaféQ2Fmw6k=UTF-8 では ASCII 以外の文字は 1 バイトを超えるため、「é」は 2 バイト増えます。>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwURL セーフのバリアントは + と / を - と _ に置き換え、= のパディングを取り除きます。ユースケース
- data URI を使って、画像・フォント・アイコンを HTML/CSS に直接埋め込む。
- メールの添付ファイル(MIME)や JSON 内のバイナリデータを送る。
- 鍵、証明書、トークンを環境変数や設定ファイルに保存する。
- HTTP の Authorization: Basic ヘッダー用に認証情報を符号化する。
よくある質問
Base64 は暗号化の方法ですか?
いいえ。鍵のない可逆的な符号化で、誰でもデコードできます。安全性はまったく付与されません。データを守るには暗号化が必要です。
なぜ結果は「=」で終わるのですか?
「=」は、入力が 3 バイトの倍数でないときに 4 文字のブロックを埋めるためのパディングです。URL セーフのバリアントでは省かれます。
URL セーフのバリアントはどんなときに適していますか?
値を URL、ファイル名、識別子に入れるときです。これらの文脈では + と / の文字が特別な意味を持つためです。
符号化したテキストが元より長いのはなぜですか?
入力 3 バイトごとに 4 文字を使うため、サイズが約 33% 増えるからです。
入力したテキストはサーバーにアップロードされますか?
いいえ。符号化と復号はすべてブラウザー内で行われます。