メインコンテンツに移動

文字列を URL エンコードする方法

パーセントエンコーディングでは、URL で安全に使えない文字を、その UTF-8 バイトごとに % と 16 進数の値に置き換えます。encodeURIComponent() を使う「コンポーネント」モードは、クエリの値 1 つやパスのセグメント 1 つに適しています。

計算例

文字UTF-8 バイトコンポーネント
␠%20%20
&%26%26
=%3D%3D
/%2F%2F
?%3F%3F
é%C3 %A9%C3%A9
😀%F0 %9F %98 %80%F0%9F%98%80

「コンポーネント」モードでは、フレーズ全体が 1 つの安全な値にエンコードされます。

入力
rock & roll/size=XL? café 😀
結果 · encodeURIComponent()
rock%20%26%20roll%2Fsize%3DXL%3F%20caf%C3%A9%20%F0%9F%98%80

「完全な URL」モードは & = / ? をそのまま残すため、URL 全体に対してのみ使用してください。

入力
rock & roll/size=XL? café 😀
結果 · encodeURI()
rock%20&%20roll/size=XL?%20caf%C3%A9%20%F0%9F%98%80

ツールの処理方法

  • 英字 A–Z と a–z、数字 0–9、および - _ . ! ~ * ' ( ) は変更されません。
  • それ以外の文字は UTF-8 バイトに変換され、各バイトが % と大文字の 16 進数 2 桁で表されます。é は 2 バイト、ほとんどの絵文字は 4 バイトです。
  • 「コンポーネント」モードは予約文字 : / ? # [ ] @ & = + $ , ; もエンコードするため、URL の構造が変わることはありません。

URL エンコードのガイド