URLエンコード・Base64・Quoted-Printable

Web開発やAPI連携、メール送信をしていると
URLエンコードBase64Quoted-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エンコードの特徴

  • % + 16進数で表現
  • UTF-8のバイト列を1バイトずつ変換
  • URLやクエリパラメータで必須
  • 人間には読みにくいがURL安全

主な使用場面

  • クエリパラメータ
  • フォーム送信(GET)
  • 検索URL

Base64

Base64は、
バイナリデータを英数字のみの文字列に変換する方式です。

画像・音声・ファイルなどを
テキストしか扱えない環境で送信するために使われます。


Base64の例

# 元の文字列
謹賀新年
# Base64エンコード後
6Ky56LOA5paw5bm0
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の特徴

  • ASCII文字が可読なまま
  • =XX 形式
  • メールの文字化け防止に有効
  • 76文字改行制限あり

主な使用場面

  • メール本文(text/plain / text/html)
  • MIMEエンコード
  • メールサーバー間通信

項目 URLエンコード Base64 Quoted-Printable
主用途 URL バイナリ転送 メール
表記形式 %XX 英数字 + 記号 =XX
可読性
サイズ増加 小〜中
URL安全 ×

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA