Web開発やAPI連携、メール送信をしていると
URLエンコード、Base64、Quoted-Printable
という言葉を目にすることがあります。
一見似ているこれらの「エンコード方式」ですが、
目的も使いどころもまったく異なります。
この記事では、それぞれの
- 仕組み(概要)
- 文字列の変換例
- 特徴と用途の違い
をわかりやすく解説します
URLエンコード(Percent Encoding)とは
URLエンコードの概要
URLエンコードは、
URLで使用できない文字を安全な形式に変換する仕組みです。
URLでは日本語やスペース、記号の多くが使えないため、
それらを %XX(16進数)形式に変換します。
URLエンコードの例
# 元の文字列 謹賀新年 # URLエンコード後(UTF-8) %E8%AC%B9%E8%B3%80%E6%96%B0%E5%B9%B4
URLエンコード・デコード ツール
URLエンコード・デコード ツール
URLエンコードの特徴
%+ 16進数で表現- UTF-8のバイト列を1バイトずつ変換
- URLやクエリパラメータで必須
- 人間には読みにくいがURL安全
主な使用場面
- クエリパラメータ
- フォーム送信(GET)
- 検索URL
Base64
Base64は、
バイナリデータを英数字のみの文字列に変換する方式です。
画像・音声・ファイルなどを
テキストしか扱えない環境で送信するために使われます。
Base64の例
# 元の文字列 謹賀新年 # Base64エンコード後 6Ky56LOA5paw5bm0
Base64 エンコード・デコード ツール
Base64 エンコード・デコード ツール
Base64の特徴
- 使用文字:英数字 +
+ / = - データサイズが約1.33倍に増える
- URLではそのまま使えない
- 汎用性が非常に高い
主な使用場面
- Data URL(画像埋め込み)
- API通信
- Basic認証
Quoted-Printableとは
Quoted-Printableは、
主にメール本文向けのエンコード方式です。
ASCII文字はそのまま残し、
日本語などの非ASCII文字だけを =XX 形式で変換します。
Quoted-Printableの例
# 元の文字列 謹賀新年 # Quoted-Printable後 (UTF-8) =E8=AC=B9=E8=B3=80=E6=96=B0=E5=B9=B4
Quoted-Printable エンコード・デコード ツール
Quoted-Printable エンコード・デコード ツール
Quoted-Printableの特徴
- ASCII文字が可読なまま
=XX形式- メールの文字化け防止に有効
- 76文字改行制限あり
主な使用場面
- メール本文(text/plain / text/html)
- MIMEエンコード
- メールサーバー間通信
| 項目 | URLエンコード | Base64 | Quoted-Printable |
|---|---|---|---|
| 主用途 | URL | バイナリ転送 | メール |
| 表記形式 | %XX |
英数字 + 記号 | =XX |
| 可読性 | 低 | 低 | 中 |
| サイズ増加 | 中 | 大 | 小〜中 |
| URL安全 | ◎ | × | △ |
