Base64 エンコード・デコード

テキストをUTF-8のバイト列にしてから標準のBase64にエンコードします。アクセント、ハングル、絵文字も安全で、+と/、=のパディングを使い、改行は入りません。

出力
テキストを入力すると結果が表示されます。

知っておきたいこと

このページは2段階でテキストをBase64にします。まずテキストをUTF-8のバイト列に変え、3バイトずつをA〜Z、a〜z、0〜9、プラス、スラッシュからなる4文字にまとめ直します。HelloはSGVsbG8=になり、韓国語は1音節が3バイトなので7ZWc6rWt7Ja0になります。

バイト列がUTF-8由来なので、アクセントや絵文字も安全です。café ☕はY2Fmw6kg4piVになります。UTF-8の手順を飛ばすと、素のブラウザ呼び出しがLatin-1の範囲外の文字で失敗するという定番の失敗が起きますが、このページはそれを避けています。

出力は常に末尾に=のパディングが付く標準の文字集合で、改行は入らないため、データURIやJSONフィールドが期待する形です。3バイトにつき4文字が出るので、入力より約3分の1大きくなります。+を-に、/を_に置き換えて=を除くURLセーフ方式は用意されていないので、トークンをURLに載せる必要があるときは、この3点を検索・置換で手直ししてください。

このページはエンコード専用なので、デコードはありません。元に戻すには、メインのテキストエンコーダーでBase64デコードを選んでください。

作業別ツール 1
関連ツール 4
Base64 エンコード・デコードの使い方
  1. user:passのような認証情報のペアや短いメモを、テキスト入力欄に貼り付けます。
  2. 出力欄を読みます。user:passはdXNlcjpwYXNzにエンコードされます。
  3. コピーのアイコンでコピーし、認証ヘッダーのBasicの後ろなど、形式が求める場所に入れます。
  4. URLセーフなトークンが必要なら、整理の検索・置換で+を-に、/を_に置き換え、末尾の=を取り除きます。

よくある質問

日本語・韓国語、アクセント、絵文字にも対応していますか?

はい。先にUTF-8のバイト列に変換するので、韓国語は7ZWc6rWt7Ja0、café ☕はY2Fmw6kg4piVになり、ラテン文字以外でもエラーになりません。

出力が=や==で終わるのはなぜですか?

バイト数が3の倍数でないとき、最後のまとまりを埋めるパディングです。Helloは5バイトなので=が1つ付きます。

URLセーフのBase64オプションはありますか?

いいえ。出力は常に+と/、パディングを使います。URLの中に置く文字列なら、それらの文字を手動で置き換えてください。

結果はどれくらい大きくなりますか?

約33パーセントです。3バイトが4文字になるためで、30バイトのテキストはちょうど40文字になります。