Base64のエンコードとデコード方法

開発者

Base64エンコードとは何か、いつ使うか、テキストやファイルをBase64にエンコードして元に戻す方法を実例を交えて学びましょう。

Base64とは?

Base64は、任意のバイト列をA–Z、a–z、0–9、プラス(+)、スラッシュ(/)の64個の印刷可能なASCII文字だけで表すバイナリ・テキスト変換方式です。画像・PDF・ZIP・暗号鍵のような非テキストデータを、メール本文・URLクエリ文字列・JSONフィールド・XML属性など「テキストしか通らない」経路に安全に通すために設計されました。Base64は暗号ではありません:誰でも元のバイト列に戻せます。その代わり、3バイト→4文字になるので出力サイズは約33%増えます。

日常的な用途

  • ウェブページのData URI

    小さな画像やフォントはdata:image/png;base64,iVBORw…としてCSSやHTMLに直接埋め込め、HTTPリクエストを1回節約できます。

  • メールのMIME添付

    メールプロトコルは7ビットASCII前提なので、バイナリ添付ファイルはすべて本文内でBase64エンコードされます。

  • JSON/XMLの中のバイナリ

    APIがJSONフィールド内でファイルや鍵を返さなければならない場合、JSON文字列は生バイトを保持できないため、Base64が標準的な包装方法になります。

ステップガイド

1

Base64を理解する

Base64は64個のASCII文字(A-Z、a-z、0-9、+、/)を使ってバイナリデータをテキスト文字列にエンコードします。暗号化ではなくエンコードです。誰でもデコードできます。テキストのみのチャネルでバイナリデータを安全に送信するために使われます。

2

テキストをBase64にエンコードする

Base64ツールを開き、入力欄にテキストを貼り付けて「エンコード」をクリックします。例:「Hello, World!」は「SGVsbG8sIFdvcmxkIQ==」にエンコードされます。

3

Base64をテキストにデコードする

デコード欄にBase64文字列を貼り付けて「デコード」をクリックします。ツールが元のテキストに変換します。末尾のパディング文字(=)はフォーマットの一部です。

4

よくある使用例

HTML/CSSへの画像埋め込み(data URI):data:image/png;base64,iVBOR... メール添付ファイルのエンコード(MIME)。HTTP Basic認証ヘッダーでの認証情報の送信。JSONでのバイナリデータの保存。

5

Base64URLと標準Base64

Base64URLはURLセーフにするため+の代わりに-、/の代わりに_を使います。JWTはBase64URLエンコードを使います。当ツールは両方に対応しています。

無料ツールを使う

Base64 エンコーダー/デコーダー

よくある質問

Q: Base64はファイルサイズを増やしますか?

A: はい——Base64エンコードはデータサイズを約33%増加させます。3バイトの入力が4文字のBase64になります。

Q: Base64は暗号化と同じですか?

A: いいえ。Base64はエンコードであり暗号化ではありません。セキュリティを提供しません——誰でも鍵なしでデコードできます。セキュリティのためにはエンコード前に暗号化(AES、RSAなど)を使用してください。

Q: 「=」のパディングとは何ですか?

A: Base64は3バイトずつ4文字にエンコードします。入力長が3の倍数でない場合、最後の4文字ブロックを完成させるために=文字がパディングとして追加されます。