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 エンコーダ/デコーダの使い方
テキストまたは URL を貼り付けます
生の値を入力領域にドロップします。クエリ パラメータ値、スペースと Unicode を含む完全な URL、またはサーバー ログから引き出した、デコードしたい %3D1%26B%3D2 のようなエンコードされた文字列。
エンコーディングモードを選択してください
個々の値 (クエリー・パラメーター、パス・セグメント) の場合は encodeUriComponent を選択して、完全な URL の場合は encodeUri を選択します。 HTML フォーム ボディを構築するとき、または + 記号を使用して POST ペイロードをデバッグする場合は、存続するか、フォーム URLencode を実行する必要があります。
エンコードまたはデコード
[エンコード] をクリックして入力をパーセント エンコードするか、デコードをクリックして逆にします。 %XX シーケンスをデコードすると、フォーム モードで + をスペースに変換します。 形式が正しくないシーケンスは、空白の出力ではなく、読み取り可能なエラーを生成します。
コピーまたは交換
クリックしてクリップボードに結果をコピーするか、スワップ ボタンを使用して出力を入力に戻します。値がダブルエンコードされ (%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
Related Tools
Caesar Cipher Encoder & Decoder
Encode and decode Caesar cipher text with any shift, plus ROT13 and ROT47. Brute-force all 25 shifts to crack an unknown key.
HTML Entity Encoder/Decoder
Encode and decode HTML entities - named (&), decimal (&), and hex (&) forms, with XSS-safe special-character escaping
Image to Base64 Converter
Convert images to Base64 data URIs and decode Base64 back to images.
Unicode Converter
Convert text to and from Unicode code points, HTML entities, JavaScript escapes, and CSS escapes. Emoji and astral characters handled correctly.
Comments
0 comments
No comments yet. Be the first to share your thoughts!