URL クエリ文字列をパースする
クエリ文字列は、URL の「?」以降でキーと値のペアを渡します。パース、エンコード、配列・ネストしたオブジェクト・特殊文字の扱いを学びましょう。
- 1
クエリー文字列は URL の ? 以降です:?key=value&key2=value2。キーと値はパーセントエンコードされます(スペース → %20 または +、特殊文字 → %XX)。同じキーに複数の値は配列表記が使えます:?colors[]=red&colors[]=blue。ネストしたオブジェクト:?user[name]=Alice&user[age]=30。
- 2 URL パーサー →
完全な URL をパースして、クエリー文字列をオブジェクトとして抽出します。パーサーはパーセントデコード、配列表記、ネストしたオブジェクトを処理します。特殊文字と Unicode が正しくデコードされることを確認してください。
- 3 URL デコーダー →
パーセントエンコードされたクエリー文字列の値をデコードします。%20 → スペース、%2F → /、%3F → ?、%E4%B8%AD → 中(UTF-8)。+ 文字は、クエリー文字列ではスペースにデコードされます(パスセグメントではスペースは %20 です)。
- 4 url-decode → hex-encode
URL デコードワークフローを使うと、二重エンコードとネストしたパラメーターを処理しながら、クエリー文字列パラメーターをデコードして分析できます。
よくある質問
- スペースの + と %20 の違いは何ですか?
- クエリー文字列では、+ と %20 のどちらもスペースを表します(application/x-www-form-urlencoded)。URL パスセグメントでは、スペースは %20 のみで、+ はリテラルのプラス記号です。この不整合はバグのよくある原因です。パスには %20 を使い、クエリー文字列ではどちらでも使えます。
- クエリー文字列で配列を渡すにはどうすればよいですか?
- よくある慣習:?ids[]=1&ids[]=2(PHP/Rails)、?ids=1&ids=2(キーの繰り返し)、?ids=1,2(カンマ区切り)。標準はありません。1 つ選んで文書化してください。キーの繰り返し形式(?ids=1&ids=2)が最も広くサポートされています。
このタスクを解決するワークフロー
Base32 から Hex へ変換
Base32 をデコードし、デバッグのために Hex として再エンコードする。 パイプライン
Base64 から Hex へ変換
Base64 文字列を生バイトにデコードし、検査や相互運用のために Hex として再エンコードする。 パイプライン
Binary から Hex へ変換
Binary(base-2)文字列をバイト値にデコードし、Hex として再エンコードする。 パイプライン
ChaCha20 暗号化後に Hex エンコード
ChaCha20 で暗号化し、暗号文を Hex エンコードする。 パイプライン
Hex エンコード後デコードのラウンドトリップ検証
テキストを Hex にエンコードし、デコードしてラウンドトリップが元のデータを保持することを検証する。 パイプライン
テキストの Hex エンコードと分析
テキストを Hex 表現に変換し、その後 Hex 出力の文字統計を計算する。 パイプライン
Multibase から Hex へ変換
Multibase をデコードし、プレーン Hex として再エンコードする。 パイプライン
Octal から Hex へ変換
Octal をデコードし、コンパクトな表現のために Hex として再エンコードする。 パイプライン
Punycode デコードと URL 解析
Punycode ドメインをデコードし、その後完全な URL を解析する。 パイプライン
テキスト反転と Hex エンコード表示
文字列を反転し、その後 Hex 表現を検査する — バイトオーダーの問題やエンコーディングパズルのデバッグに有用。 パイプライン
SHA-512 ハッシュ後に Hex エンコード
SHA-512 ハッシュを計算し、可読性のために Hex としてエンコードする。 パイプライン
URL デコードと Hex バイト表示
URL エンコード文字列をパーセントデコードし、低レベル分析のために Hex バイト表現を表示する。 パイプライン
URL デコードと解析
URL デコードし、その後 URL を構成要素に解析する。 パイプライン
URL 二重デコード
2 回エンコードされた URL 文字列をデコードし、元の平文を復元する。 パイプライン
URL 転送用テキストペイロードのエンコード
テキストをパーセントエンコードし、安全な URL パラメータ転送のために Hex 表現を表示する。 パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。 パイプライン
XXencode 後 Hex エンコード
テキストを XXencode し、その後結果を Hex エンコードする。 パイプライン
関連ツール
URL パーサー
Parse a URL into its components: protocol, host, path, query, hash, port, username, and password。無料、プライベート、100%クライアントサイド。 ツール
URL デコーダー
Decode percent-encoded URL text back to readable characters。無料、プライベート、100%クライアントサイド。 ツール
URL エンコーダー
Percent-encode text for safe use in URLs。無料、プライベート、100%クライアントサイド。 ツール