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
使い方
- 処理(エンコードかデコード)を選びます。
- 文字列を入力すると、変換結果が表示されます。
計算方法・仕組み
文字列を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に埋め込む場合は、専用の変換ツールが必要です。