Command Palette

Search for a command to run...

UR

URL エンコーダ/デコーダ

EncodeURIComponent、EncodeURI、または Form-Urlencoded モードを使用して、URL、クエリ文字列、およびフォーム データをエンコードおよびデコードします。

URL エンコーダ/デコーダとは何ですか?

URL エンコーダ/デコーダは、テキストをパーセント エンコーディング (URL エンコーディングとも呼ばれます) に変換します。 &、=、?、#、および / のような文字は、URL で構造的な意味を持ちます。クエリ文字列値にリテラル「&」が含まれている場合、その文字が % 26 としてエスケープされない限り、サーバーはパラメータを半分に分割します。このツールを使用すると、開発者は 3 つのエンコーディング バリアントすべてに遭遇します。個々の値については encodeURIComponent、完全な URL については encodeURI、HTML フォーム ボディについては application/x-www-form-urlencoded (スペースは +)。

ほとんどのチュートリアルで認められるよりも、モード間の区別が重要です。 encodeUriComponent は、予約済みのすべての区切り記号をエスケープします。これは、単一のクエリ パラメータ、パス セグメント、または別の URL に埋め込まれたリダイレクト ターゲットに対して適切な選択です。ただし、それを完全な URL で実行すると、https:// に https// にマングルします。 # & =) ですから、スペースや é や 日本語のような ASCII 以外の文字が UTF-8 パーセントでエンコードされた形式にエスケープされる間、URL 全体が移動可能です。 フォーム URLencode モードは、スペースが「%20」ではなく「+」になる以外は、<form>: エンコードウリコンセントと同じものを送信するときにブラウザが送信するものと一致します。これは、今日でも API 統合を失敗させる従来の癖です。

すべてがブラウザーで 100% クライアント側で実行され、本番環境 JavaScript で使用されているのと同じ native encodeURIComponent、encodeURI、decodeuricomponent 関数を使用するため、結果はコードが生成するものと正確に一致します。 貼り付けるものは何もありません - OAuth コールバック URL、署名された S3 リンク、トークン、セッション ID - マシンから離れることはありません。デコーダーはまた、不正な入力をキャッチし (JavaScript で 16 進数 2 桁が続く迷走 % が URIError をスローします)、サイレントに失敗するのではなく、明らかなエラーを報告します。

うまくいった例では、この URL エンコーダとデコーダの 3 つのモードが同じテキスト上でどのように異なるかを示しています。 cafe & creme と入力し、encodeURIComponent を選択した状態でエンコードをクリックします。出力は caf%C3%A9%20%26%20cr%C3%A8me です。 application/x-www-form-urlencoded にモードを切り替えて再度エンコードすると、スペースは + になり、caf%C3%A9+%26+cr%C3%A8me になります。 encodeURI モードでは、& はそのまま残ります。 encodeURI では URL 区切り文字として扱われ、そのモードが URL 全体に適合し、単一の値ではないためです。 decode はそれらのいずれかを反転しますが、フォーム モードのみが + をスペースに戻します。

URL エンコーダ/デコーダの使い方

  1. テキストまたは URL を貼り付けます

    生の値を入力領域にドロップします。クエリ パラメータ値、スペースと Unicode を含む完全な URL、またはサーバー ログから引き出した、デコードしたい %3D1%26B%3D2 のようなエンコードされた文字列。

  2. エンコーディングモードを選択してください

    個々の値 (クエリー・パラメーター、パス・セグメント) の場合は encodeUriComponent を選択して、完全な URL の場合は encodeUri を選択します。 HTML フォーム ボディを構築するとき、または + 記号を使用して POST ペイロードをデバッグする場合は、存続するか、フォーム URLencode を実行する必要があります。

  3. エンコードまたはデコード

    [エンコード] をクリックして入力をパーセント エンコードするか、デコードをクリックして逆にします。 %XX シーケンスをデコードすると、フォーム モードで + をスペースに変換します。 形式が正しくないシーケンスは、空白の出力ではなく、読み取り可能なエラーを生成します。

  4. コピーまたは交換

    クリックしてクリップボードに結果をコピーするか、スワップ ボタンを使用して出力を入力に戻します。値がダブルエンコードされ (%2520) で、2 回目のデコード パスが必要な場合に便利です。

主な機能

  • 3 つの現実世界モード

    encodeuricomponent、encodeuri、および application/x-www-form-urlencoded - クエリ文字列、完全な URL、およびフォーム本文で満たされる 3 つのバリアント

  • ネイティブ JavaScript エンコーディング

    ブラウザネイティブのエンコード機能を使用しているため、RFC 3986 の予約されていない文字 (AZ az 0-9 - _ . ~) は、手付かずの UTF-8 マルチバイト シーケンスを正しくエンコードします。独自の JavaScript と同様に、! ' () * もエスケープされずに残ります。RFC 3986 はこれを予約します

  • 明確なエラーで安全にデコード

    迷子になったパーセント シーケンスのようなパーセント シーケンスが、未処理の UriError をスローする代わりに、何が問題になったのかを正確に報告します。

  • 入出力をスワップ

    ワンクリックで結果が入力に戻ります。レイヤーごとにダブルエンコードされた値をアンラップするのに最適です。

Frequently Asked Questions

URL (クエリ パラメーター、パス セグメント、または Cookie 値) 内にある単一の値には、ENCODEURICOMPONENT を使用してください。これは、&、=、/、および ? のような区切り文字をエスケープするためです。 完全な URL を持っていて、その構造を破壊せずに無効な文字 (スペース、Unicode) をエスケープしたい場合にのみ、encodeURI を使用してください。 経験則: 文字列に @ が含まれている場合は、そのままにしておく必要があります。encodeUri を使用し、それ以外の場合は encodeUriComponent を使用します。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

url encoderurl decoderpercent encodingencodeuricomponentencodeuriquery string encoderurlencodeform urlencodedrfc 3986uri escapeurl encoder decoder onlineurl encoder decoderurl encoder and decoderencoder decoder url