Base64エンコード・デコード(日本語対応)

文字列をBase64に変換(エンコード)したり、Base64を元の文字列に戻したり(デコード)します。日本語(UTF-8)にも対応しています。

Base64エンコード・デコードについて

Base64は、バイナリデータや文字列を、英数字と記号(A-Z、a-z、0-9、+、/)だけで表す符号化方式です。メールの添付ファイル、データURL、APIの認証情報などで使われています。

日本語(UTF-8)を含む文字列にも対応しているので、文字化けせずにエンコード・デコードできます。URLの中で使うときのために、「+」「/」を「-」「_」に置き換える、URLセーフ形式にも切り替えられます。Base64は暗号化ではないため、機密情報の保護には使えません。

こんなときに使えます

  • APIの認証ヘッダー(Basic認証)の文字列を確認する
  • Base64で受け取ったデータを、元の文字に戻す
  • メールやデータURLで使われる文字列の中身を調べる

使うときのポイント

  • Base64は、データ量が約4/3倍になる
  • 暗号化ではなく、誰でも元に戻せる

計算例

入力欄の初期値のまま計算すると、次の結果になります。条件は、処理がエンコード(文字列 → Base64)、入力がこんにちは、URLセーフ形式(+ / を - _ に)がいいえです。数値を変えると、この結果もそれに合わせて変わります。

結果: 44GT44KT44Gr44Gh44Gv

使い方

  1. 処理(エンコードかデコード)を選びます。
  2. 文字列を入力すると、変換結果が表示されます。

計算方法・仕組み

文字列をUTF-8のバイト列に変換してから、6ビットずつ64種類の文字(A-Z, a-z, 0-9, +, /)で表します。URLセーフ形式では+と/を-と_に置き換え、末尾の=を省略します。

知っておきたい基礎知識

Base64は、バイナリデータ(画像やファイルなど)を英数字と記号だけの文字列に変換する方式です。メールの添付ファイルや、データURI(HTMLに画像を直接埋め込む形式)、認証情報のやりとりなどで使われます。3バイトのデータを4文字に変換するため、データの大きさは、約1.33倍になります。

Base64は暗号化ではなく、誰でも元に戻せる変換にすぎません。パスワードや個人情報をBase64にしただけでは、安全にはなりません。日本語を含む文字列は、先にUTF-8のバイト列に変換してから、Base64にします。URLに入れる場合は、+と/を-と_に置き換えた、URLセーフ形式を使います。

間違えやすいポイント

  • Base64は暗号化ではない。秘密の情報を守る目的には使えない
  • 文字コード(UTF-8かShift_JISか)が違うと、デコードした日本語が、文字化けする
  • URLで使うときは、+と/を-と_に置き換えたURLセーフ形式を使う

よくある質問

末尾の「=」は何ですか?
データの長さを4文字の倍数に揃えるための、パディング(詰め物)です。URLセーフ形式では、省略されることがあります。
画像をBase64にできますか?
このツールは文字列の変換です。画像をBase64にして、HTMLに埋め込む場合は、専用の変換ツールが必要です。