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

テキストを Base64 にエンコード、または Base64 をテキストにデコードします。標準と URL セーフの文字セットに対応しています。

https://codeknife.dev/ja/base64-henkan/

## 概要

Base64 は、あらゆるバイト列を64種類の安全な文字だけのテキストに変換する方式です。メール本文、JSON のフィールド、URL、データ URI、HTTP ヘッダーなど、テキストしか扱えないシステムでもバイナリデータを受け渡せます。このツールは、テキストを Base64 にエンコードし、Base64 をテキストにデコードします。処理はすべてブラウザ内で行われます。

## 使い方

1. **エンコード**か**デコード**を選びます。
2. テキストを入力または貼り付けるか、ファイルを入力欄にドロップします。
3. **標準**のアルファベット(`+` と `/`)か **URL セーフ**のアルファベット(`-` と `_`)を選び、`=` のパディングを付けるかどうかも選びます。
4. 結果をコピーするか、そのまま別のツールに送ります。

エンコード済みの値のリストなど、各行を個別に変換したいときは、行ごとのオプションをオンにします。

## 例

`Hello, world!` をエンコードすると次のようになります。

```
SGVsbG8sIHdvcmxkIQ==
```

同じバイト列を、URL セーフのアルファベットでパディングなしにした場合です。

```
SGVsbG8sIHdvcmxkIQ
```

## 知っておくと便利なこと

- Base64 は暗号化ではなくエンコードです。誰でもデコードできます。
- 結果は入力より約3分の1大きくなります(3バイトが4文字になります)。
- テキストは既定で UTF-8 として変換されます。デコードしたテキストが文字化けする場合は、元のテキストが書かれた文字セットを選んでください。
- JSON Web Token は、パディングなしの URL セーフのアルファベットを使います。

## Base64 とは?

Base64 は、バイナリデータを64種類の印字可能文字で表現する方式です。メール本文、JSON のフィールド、データ URL など、テキストしか受け付けないシステムでもデータを受け渡せます。3バイトが4文字になるため、結果は約33%大きくなります。

## よくある質問

### URL セーフのアルファベットはいつ使いますか?

結果を URL やファイル名に入れるときに使います。+ と / がそれぞれ - と _ に置き換えられます。JWT ではパディングなしで使われます。

### デコードしたテキストが文字化けするのはなぜですか?

選択した文字セットとは別の文字セットでエンコードされている可能性があります。ISO-8859-1 を試すか、データがファイルではなくテキストであることを確認してください。

### Base64 は暗号化ですか?

いいえ。Base64 は誰でもデコードできるため、何も隠せません。データを運ぶために使うもので、保護するためには使わないでください。