URL エンコーダー / デコーダー
URLとURIコンポーネントをブラウザで即座にエンコード・デコード。無料・プライベート・アップロード不要。
URLとURIコンポーネントをブラウザで即座にエンコード・デコード。無料・プライベート・アップロード不要。
URL エンコーディング (正式にはパーセント エンコーディング、RFC 3986 で定義) は、URL 内で特別な意味を持つ文字 (スペース、スラッシュ、アンパサンド、ハッシュ マーク) を、パーセント記号とそれに続く 16 進数を使用した安全な形式に変換します。スペース文字は %20 (フォーム エンコードされたコンテキストでは +) になり、アンパサンドは %26 になります。このエンコーディングがないと、特殊文字はリテラル データではなく URL 構文として解釈され、URL が壊れたり、意図しない動作が発生したりする可能性があります。
関連しているが異なる 2 つのエンコーディングが存在します。標準の URL コンポーネントのエンコードでは、予約されていない文字セット (A ~ Z、a ~ z、0 ~ 9、ハイフン、アンダースコア、ピリオド、チルダ) 以外のすべてに対して % エスケープが使用されます。フォームエンコードされたバリアント (application/x-www-form-urlencoded) はさらにスペースをプラス記号として扱い、他の一部の文字には異なるルールを使用します。 JavaScript の encodeURIComponent は厳密なコンポーネント エンコーディングを使用します。 encodeURI は、URL 構造文字を保持する、より寛容な形式を使用します。
このツールはエンコードとデコードの両方を提供します。エンコード モードでは、エスケープが必要な各文字を %HH 形式でラップします。デコード モードでは、変換が逆になります。どちらも組み込みの JavaScript URL 関数を使用してブラウザ内で完全に実行されるため、データはどこにも送信されません。
URL にデータ (クエリ文字列パラメータ、ユーザー入力を含むパス セグメント、リダイレクト ターゲット) が含まれる場合は常に、適切なエンコードが必要です。エンコードに失敗すると、特殊文字が表示されたときに URL が壊れたり、パラメータ境界がクエリ文字列に漏れたり (&x=1 が別のパラメータに変換されたり)、不正なリクエストとして Web サーバーによってブロックされたりする URL が生成されます。
デコードはその逆で、エンコードされた URL から元のデータを抽出します。ブラウザのアドレス バーには、エンコードされた形式で URL が表示されることがよくあります。デコードすると、実際に何が意図されていたのかが明らかになります。ロギング、デバッグ、セキュリティ分析はすべて、元のパラメータとパスを示すデコードされた URL から恩恵を受けます。
文字列を貼り付け、方向を選択します。
encodeURIComponent は、予約されていないセット [A-Za-z0-9-_.~] の外側のすべての文字をエンコードします。スペースは %20 になり、プラス記号は %2B になり、等号は %3D になります。 ASCII 以外の文字は、まず UTF-8 でエンコードされてから、各バイトが % でエスケープされます。
encodeURI はより寛容で、コンポーネントではなく完全な URL を対象としています。 /、?、&、=、#、およびその他のいくつかの文字は URL 構文の意味を持っているため、エスケープされません。 URL にユーザー データを埋め込む場合は、ほとんどの場合、encodeURIComponent が正しい選択です。
decodeURIComponent は %-escape を反転し、各エスケープが整形式であること、および結果のバイトが有効な UTF-8 を形成していることを検証します。不正な入力は、ガベージを生成するのではなく、エラーをスローします。