メインコンテンツへ
短.be

パーセントエンコーディング

URL エンコーディングの正式名称。 RFC 3986 で定義された、 URL 内の非 ASCII 文字や予約文字の表現方法。

2025年9月18日 · 約 1 分で読めます

URL 短縮

パーセントエンコーディングとは、 URL に使用できない文字をパーセント記号 (%) と 16 進数 2 桁で表現する変換方式です。 RFC 3986 で定義された URL エンコーディングの正式名称であり、日本語や特殊文字を URL に含める際に必須の技術です。

たとえば、日本語の「東京」は UTF-8 で 6 バイト (E6 9D B1 E4 BA AC) であり、パーセントエンコーディングすると %E6%9D%B1%E4%BA%AC になります。スペースは %20 、アンパサンド (&) は %26 、プラス (+) は %2B に変換されます。

パーセントエンコーディングで注意すべき点は、エンコード対象の文字セットです。 RFC 3986 では、英数字と - . _ ~ は「非予約文字」としてエンコード不要、 : / ? # [ ] @ ! $ & ' ( ) * + , ; = は「予約文字」として文脈に応じてエンコードが必要と定義されています。二重エンコード (既にエンコードされた文字列を再度エンコードしてしまう) も実務上よくあるバグです。 %20 が %2520 になってしまうケースです。

短縮 URL サービスでは、ユーザーが入力した URL のパーセントエンコーディングを正しく処理することが重要です。日本語を含む URL を短縮する際、エンコード済みの URL とデコード済みの URL を同一の短縮 URL に紐づける正規化処理が必要です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

パーセントエンコーディングで変換が必要な文字は何ですか?
非 ASCII 文字 (日本語など) 、予約文字 (?, &, =, #, / など) 、スペースが変換対象です。英数字とハイフン、アンダースコア、ピリオド、チルダはそのまま使用できます。
パーセントエンコーディングと Base64 エンコーディングの違いは何ですか?
パーセントエンコーディングは URL 内の特殊文字を安全に表現するための方式で、 Base64 はバイナリデータをテキストに変換する方式です。用途が異なります。

短縮 URL を作成してみませんか?

無料で URL を短縮する