スタート サイトを登録

Base64 エンコード・デコード

Developer Tools

テキストを Base64 に変換・復元。UTF-8 と URL セーフな文字セットに対応し、データはブラウザの外に出ません。

デコード時は空白が無視されるため、折り返されたBase64も処理できます。

URLセーフBase64では+が-に、/が_に置き換えられ、パディングは省略されます。

結果

結果 —
  • UTF-8バイト —
  • 文字数 —
  • 入力に対するサイズ比 —

入力値を変更すると、結果はすぐに更新されます。

計算式とルール

  • Base64は3バイトごとに4つの6ビットグループに分割し、各グループを1文字にマッピングします。
  • 入力3バイトごとに出力4文字になるため、エンコード後のサイズは入力の約133%になります。
  • UTF-8テキストはまずバイトに変換されるため、アクセント付き文字や絵文字は複数バイトになります。
  • バイト数が3の倍数でない場合、=によるパディングで最後のグループを埋めます。

計算例

こんにちは、世界!

入力 こんにちは、世界!

結果 SGVsbG8sIHdvcmxkIQ==

絵文字には4バイト必要

入力 👋

結果 8J+Riw== — 見た目は1文字ですが、UTF-8では4バイトです。

URLセーフ出力

入力 subjects?_d=1

結果 標準ではc3ViamVjdHM/X2Q9MQ==、URLセーフではパディングなしでc3ViamVjdHM_X2Q9MQになります。

よくある質問

Base64は暗号化ですか?

いいえ。キーを使わない可逆エンコードなので、誰でもデコードできます。バイナリデータをテキスト経由で転送するために使い、秘密の保護には決して使わないでください。

文字列の末尾に = や == が付くのはなぜですか?

入力の長さが3で割り切れない場合、最後のグループを等号で埋めます。URLセーフ版では通常このパディングを省略しますが、デコーダー側で復元できます。

中国語の文字や絵文字が単純なエンコーダーで壊れるのはなぜですか?

単純なエンコーダーは各文字を1バイトとして扱います。中国語の文字はUTF-8で3バイト、多くの絵文字は4バイトを占めるため、Base64を適用する前にテキストをUTF-8バイトに変換する必要があります。

免責事項: 結果は本ページ記載の計算式による参考値です。実際の必要量は材料・施工方法・環境によって変わるため、ご注文前に余裕を見てください。