エンコード | デコード | 圧縮

> percent | url | rfc3986 <

// パーセントエンコーディング – 文字を URL / URI 用の %XX 形式に変換

[RFC3986]

標準準拠

URI のパーセントエンコーディングについて RFC 3986 の仕様に準拠しています。

[UNICODE]

完全な Unicode 対応

UTF‑8 でエンコードされた Unicode 文字や絵文字を正しく処理します。

[FLEXIBLE]

柔軟なエンコードオプション

標準エンコードと、全ての文字をエンコードするモードを切り替えられます。

>> 技術情報

パーセントエンコーディングの仕組み:

パーセントエンコーディングでは、安全ではない ASCII 文字をパーセント記号 (%) と、その文字のバイト値を表す 2 桁の 16 進数に置き換えます。UTF‑8 文字は複数の ‎%XX‎ シーケンスとしてエンコードされます。

例:

"Hello World!" → Hello%20World%21

パーセントエンコーディングを使う場面:

  • >URL / URI のエンコード
  • >フォームデータの送信
  • >クエリストリングのパラメータ
  • >URL のパス要素
  • >HTTP ヘッダーやクッキー

>> よくある質問

パーセントエンコーディングとは何ですか?

パーセントエンコーディング(URL エンコードとも呼ばれます)は、URI 内の情報をエンコードするために、安全ではない ASCII 文字を「%」と 2 桁の 16 進数に置き換える仕組みです.

どんな時にパーセントエンコーディングを使うべきですか?

URL、クエリパラメータ、フォームデータなど、特定の文字が特別な意味を持ち、エスケープする必要がある文脈でパーセントエンコーディングを使用します。

encodeURI と encodeURIComponent の違いは何ですか?

encodeURI は :/?#[]@ などの文字を保持したまま URI 全体をエンコードします。encodeURIComponent は予約されていない文字 (A‑Z, a‑z, 0‑9, -, _, ., ~) 以外をすべてエンコードします。

なぜスペースは %20 または + になるのですか?

URL ではスペースは通常 %20 としてエンコードされます。フォームデータ(application/x-www-form-urlencoded)では歴史的な理由から + で表される場合もあります。どちらも有効ですが、使われるコンテキストが異なります。

その他の言語