コンテンツへスキップ

%20 · %C3%A9 · encodeURIComponent

URLエンコード・デコード

URLエンコードは、安全でない文字を%と16進数2桁に置き換えます。スペースは%20に、éは%C3%A9になります。エンコード、デコード、解析のいずれかを選び、テキストを入力または貼り付けてください。

処理はすべてこのタブ内で行われ、何もアップロードされません。ASCII以外のテキストは、エスケープする前にUTF-8に変換されます。

Scanned by NortonTM Safe Web

概要

価格
料金なし
アカウント
不要
規格
RFC 3986 (URI)、WHATWG URL Standard
モード
エンコード、デコード、解析
文字セット
UTF-8
アップロード
なし — テキストはブラウザーのタブ内にとどまります

よく使う文字のパーセントエンコーディング

各セルは、このページのエンコーダーとデコーダーが生成したものです。記号␣はスペースを表します。

1文字のエンコード
文字encodeURIComponentencodeURIフォーム (スペースは+)
␣%20%20+
!!!%21
"%22%22%22
#%23#%23
$%24$%24
%%25%25%25
&%26&%26
'''%27
(((%28
)))%29
****
+%2B+%2B
,%2C,%2C
/%2F/%2F
:%3A:%3A
;%3B;%3B
=%3D=%3D
?%3F?%3F
@%40@%40
[%5B%5B%5B
]%5D%5D%5D
~~~%7E
é%C3%A9%C3%A9%C3%A9
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80
1つのエスケープのデコード
エスケープdecodeURIComponentdecodeURIフォーム
%2F/%2F/
%3F?%3F?
%23#%23#
%20␣␣␣
%2B+%2B+
%41AAA

URLをエンコード・デコードする手順

1

モードを選ぶ

テキストをエスケープするにはエンコード、エスケープされたテキストを読むにはデコード、URL全体をプロトコル、ホスト、パス、クエリ、フラグメントに分けるには解析を選びます。

2

方式を選ぶ

クエリパラメーターのような1つの値にはコンポーネント方式を、完全なアドレスにはURL全体の方式を使います。HTMLフォームから送られるデータにはフォーム方式を使います。

3

貼り付けてコピー

テキストを入力または貼り付けます。結果は入力に合わせて更新され、コピーボタンがあります。壊れた%のシーケンスは位置とともに報告されます。

パーセントエンコーディングの仕組み

パーセントエンコーディング(RFC 3986)は、1バイトを%と16進数2桁で書き表します。テキストは最初にUTF-8に変換されるため、éは2バイト(%C3%A9)、€は3バイト(%E2%82%AC)、😀は4バイト(%F0%9F%98%80)です。英字、数字、- _ . ~はエンコード不要です。/ ? # & = + : などの予約文字はURLの中で役割を持つため、エンコードするかどうかはテキストの行き先によって変わります。

encodeURIComponentはクエリ値のようなURLの一部分用で、/ ? # & = + : をエンコードします。encodeURIはURL全体用で、これらの文字をそのままにしてアドレスの構造を保ちます。フォームエンコーディング(application/x-www-form-urlencoded)はスペースを%20ではなく+で書き、~ ! ' ( ) もエンコードします。デコードでは、後ろに16進数2桁が続かない%は拒否され、その位置が報告されます。

URLエンコードの質問

encodeURIとencodeURIComponentの違いは何ですか?

encodeURIComponentは、英字、数字、- _ . ! ~ * ' ( )以外をすべてエンコードするため、/ ? # & = + : もエンコードします。encodeURIはそれらの文字を残すので、URL全体がそのまま使えます。a/bがa%2Fbになるような値にはコンポーネント方式を、完全なアドレスにはencodeURIを使います。

スペースがある場所では%20で、別の場所では+なのはなぜですか?

%20はスペースのパーセントエンコーディングで、URLのどこでも有効です。スペースを表す+は、HTMLフォームから送られるクエリ文字列の形式であるフォームエンコーディング(application/x-www-form-urlencoded)だけのものです。本物のプラス記号は、どちらでも%2Bです。

URLでUnicode文字をエンコードするには?

テキストをUTF-8に変換し、各バイトを%XXで書きます。éは%C3%A9、€は%E2%82%AC、😀は%F0%9F%98%80になります。このページはすべてのエンコード方式でこれを行います。

URLでエンコードが必要な文字は何ですか?

スペース、ダブルクォート、<と>、およびASCII以外のすべての文字は、常にエンコードされます。英字、数字、- _ . ~は一切エンコードされません。?や&のような予約文字は、URLの構造の一部ではなくデータである場合にだけエンコードされます。

デコードで無効なパーセントシーケンスと報告されるのはなぜですか?

%の後ろには16進数2桁が必要です。100%は%の後に何もないため失敗し、ab%zzも失敗します。ページは不正な%の位置を報告します。%FFのように、有効なUTF-8にならないエスケープされたバイトも報告されます。

このページでURLを各部分に分解できますか?

はい。解析モードはブラウザーのURLパーサーを使って、プロトコル、ユーザー名、ホスト、ポート、パス、クエリ、フラグメントを一覧にし、各クエリパラメーターをデコードした値とともに表示します。URL内のパスワードは「あり」と報告されるだけで、表示されることはありません。