URLを16進表記に変換して確認する

絶対URLを1件貼り付けて使います。処理はブラウザー内で行い、入力したアドレスへの移動や取得は行いません。デコード、ファイル入力、一括処理の機能はありません。

  1. http://またはhttps://を含むURLを入力します。http://a/のような短いURLも使用できます。
  2. エンコードを実行し、出力のパス・クエリ・フラグメントを確認します。
  3. 結果をテキストとしてコピーします。クリアすると入力と出力の両方が空になります。

エンコード対象とURL正規化のルール

通常は変換不要な英数字も%HHにする

https://example.com/a b?q=你好&x=1#top の結果は https://example.com/%61%20%62?%71=%E4%BD%A0%E5%A5%BD&%78=%31#%74%6F%70 です。

パス・クエリ・フラグメント内の英字、数字、ハイフン、ピリオド、アンダースコア、チルダも変換します。URL解析後に残る予約文字 :/?#[]@!$&'()*+,;= はそのまま保持します。一般的なencodeURIとは異なり、単独のパラメータを変換するencodeURIComponentの代用ではありません。

元のURL表記を完全に維持する処理ではない

URLパーサーはスキームやホストの小文字化、国際化ドメインのASCII/Punycode変換、既定ポートの省略、/の補完、ドットセグメントの解決を行うことがあります。解析後のオーソリティにはホスト、ポート、ユーザー情報が残り、IPv6ホストの構造も維持されますが、元の文字列とバイト単位で一致するとは限りません。

既存の%HHをデコード・二重エンコードしない

非ASCII文字や補助文字はUTF-8のバイト列として表し、新しいエスケープには大文字の2桁16進数を使います。解析後に残る既存の%HHはそのまま保持するため、小文字が残る場合があります。そのバイト列が有効なUTF-8かどうかは検証しません。文字としての+は+のままで、空白を+に変えるフォームエンコードではありません。

URL16進エンコードのよくある質問

どのような入力でエラーになりますか?

相対URL、HTTP(S)以外のスキーム、不正なエスケープ、ASCII制御文字、対のないUTF-16サロゲート、URL解析の失敗を拒否します。除去するのは先頭と末尾のASCIIスペース(U+0020)だけで、末尾の通常のスペースをURLデータにするには%20を使います。末尾のNBSP、U+3000、U+FEFFはUTF-8エスケープとして保持します。エラー時は以前の出力を消去し、コピーを無効にします。

署名付きURLでも同じように使えますか?

保証はできません。URLの表記が変わると署名検証、キャッシュキー、ルーティングに影響する場合があります。利用先のシステムで確認してください。このツールはその確認を行いません。

ホスト名や内容を隠せますか?

暗号化ではないため、ホストやURLに含まれるユーザー情報は見えるままです。

最近使ったツール: