%20 · %C3%A9 · encodeURIComponent
URLエンコード・デコード
URLエンコードは、安全でない文字を%と16進数2桁に置き換えます。スペースは%20に、éは%C3%A9になります。エンコード、デコード、解析のいずれかを選び、テキストを入力または貼り付けてください。
- a b&c=d → a%20b%26c%3Dd
- é → %C3%A9
- € → %E2%82%AC
- 😀 → %F0%9F%98%80
処理はすべてこのタブ内で行われ、何もアップロードされません。ASCII以外のテキストは、エスケープする前にUTF-8に変換されます。
Scanned by NortonTM Safe Web
概要
- 価格
- 料金なし
- アカウント
- 不要
- 規格
- RFC 3986 (URI)、WHATWG URL Standard
- モード
- エンコード、デコード、解析
- 文字セット
- UTF-8
- アップロード
- なし — テキストはブラウザーのタブ内にとどまります
よく使う文字のパーセントエンコーディング
各セルは、このページのエンコーダーとデコーダーが生成したものです。記号␣はスペースを表します。
| 文字 | encodeURIComponent | encodeURI | フォーム (スペースは+) |
|---|---|---|---|
| ␣ | %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 |
| エスケープ | decodeURIComponent | decodeURI | フォーム |
|---|---|---|---|
| %2F | / | %2F | / |
| %3F | ? | %3F | ? |
| %23 | # | %23 | # |
| %20 | ␣ | ␣ | ␣ |
| %2B | + | %2B | + |
| %41 | A | A | A |
URLをエンコード・デコードする手順
モードを選ぶ
テキストをエスケープするにはエンコード、エスケープされたテキストを読むにはデコード、URL全体をプロトコル、ホスト、パス、クエリ、フラグメントに分けるには解析を選びます。
方式を選ぶ
クエリパラメーターのような1つの値にはコンポーネント方式を、完全なアドレスにはURL全体の方式を使います。HTMLフォームから送られるデータにはフォーム方式を使います。
貼り付けてコピー
テキストを入力または貼り付けます。結果は入力に合わせて更新され、コピーボタンがあります。壊れた%のシーケンスは位置とともに報告されます。
パーセントエンコーディングの仕組み
パーセントエンコーディング(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内のパスワードは「あり」と報告されるだけで、表示されることはありません。