「新製品 10%OFF」をURLエンコードすると? 空白と%の変化を実測

机に置かれたスマートフォンと周辺機器のイメージ写真 便利ツール
イメージ写真。記事で紹介する実機・画面ではありません。写真:Unsplash(配布ページ) / Unsplash License

この記事のポイント

  • 日本語・空白・%を含む10文字を入力した
  • 空白は%20、%は%25へ変わった
  • 日本語はUTF-8の複数バイトとして変換された

サムネイルはイメージ写真。写真の配布元:Unsplash(利用許諾)。本文の画面は実際の操作時に撮影した。

URL Encode and Decodeへ新製品 10%OFFを入力し、パーセントエンコード結果を表示した画面
2026年10月5日、「新製品 10%OFF」を入力。結果は%E6%96%B0%E8%A3%BD%E5%93%81%2010%25OFFとなり、空白は%20、元の%は%25へ変わった。
検証環境:2026年10月5日、Windows上のCodex内蔵ブラウザーでConvert CaseのURL Encode and Decodeを未ログインで使用。入力は「新製品 10%OFF」である。

変換結果は「%E6%96%B0%E8%A3%BD%E5%93%81%2010%25OFF」になった。英数字の10とOFFはそのまま、空白は%20、入力に含まれる%は%25へ変わっている。

日本語1文字が「%+2桁」1組で終わらないのは、UTF-8で複数バイトになるためだ。「新」は%E6%96%B0の3組で表される。

操作手順

  1. URL Encode and Decodeを開く。
  2. 左側へURLの値に入れたい文字列を貼る。
  3. 右側へ自動表示された結果を確認する。
  4. 空白、%、&、=などが意図どおり変わったかを見る。
  5. 戻したいときは中央のSwapを押し、エンコード済み文字列を入力する。

URL全体ではなく「値」向け

このツールはJavaScriptのencodeURIComponentに近い動作で、スラッシュや疑問符も変換する。https://から始まるURL全体をそのまま入れると、区切り記号まで%2Fや%3Fになり、直接開くURLではなくなる。

RFC 3986のパーセントエンコードは、%に続く2桁の16進数でオクテットを表す。すでに%20を含む文字列をもう一度変換すると%2520になるため、二重変換かどうかは入力時に確認したい。

出典・確認先

コメント

タイトルとURLをコピーしました