Base64 のエンコードとデコード
文章やファイルを Base64 にし、または Base64 を文字に戻します。文字コードを選べます。初期値は UTF-8 です。Hex を選ぶと十六進バイトと相互に変換できます。計算はブラウザ内で完結します。
Base64 は暗号化ではありません
JSON や HTML、メールのように「見える文字しか通れない」場所へ、任意のバイト列を載せるための表記です。誰でも元に戻せます。秘密を隠す用途には使いません。
文字コードで文章がどのバイトになるかを決めます。初期値は UTF-8 で、漢字やかな、絵文字はこれでバイトになります。相手が Shift_JIS や UTF-16 ならそこで切り替えてください。Hex は欄の中身を十六進バイトとして扱い、Base64 と相互に変換できます。ファイルは生のバイトのままで文字コードは使わず、PNG や PDF をテキストとして壊しません。送信はしません。
- 標準は
+ と /、余りは =。MIME や多くの標準ライブラリがこれです。 - URL セーフは
- と _ で、埋め字を外します。JWT の各部分はこちらです。 - 76 文字で折り返すのはメールの行幅です。JSON に貼るときは折り返しを切ってください。
- data URIは
img や CSS の url() 用です。画像はファイル名ではなくファイル本体を渡します。
操作
- 文章を貼るか、ファイルを選びます。ファイルを選ぶと、テキスト欄ではなくバイト列を符号化します。
- エンコードかデコードを選びます。デコードは標準と URL セーフの両方を受け、空白と改行は無視します。
- data URI の接頭辞は、次に HTML か CSS へ入れるときだけ付けます。
- 失敗するときは、文字列が途中で切れているか、そもそも Base64 ではありません。
文字コードが先にバイトを決めます。「中文」は UTF-8 で 6 バイト、Shift_JIS では別のバイト列です。別の道具と結果が違うときは、同じ文字コードに合わせるか、Hex でバイトを見てください。バイトを見たいときは 文字列からバイト、パーセント符号化は URL エンコード です。
よくある質問
戻したら文字化けする
そのバイト列は、選んだ文字コードの文章ではありません。Shift_JIS や UTF-16 を試すか、Hex でバイトを見てください。画像や圧縮ファイルをテキスト欄で読むと、そう見えます。ファイルは生のバイトで、文字コードは使いません。
末尾の = は必須か
こちらは欠けていてもデコードします。相手が厳密なら、URL セーフを切って = を残してください。