escape(), unescape()

エスケープ表記のうち使用できない文字をパーセントエンコーディングという %XX という形式の16進のコード変換(逆変換)する関数にはescape(),  unescape()以外にencodeURI(), decodeURI()とencodeURIComponent(), decodeURIComponent()があるが、それぞれ変換できない文字が異なるので、使用に当たっては想定される文字列によって適切なencode、decode関数を選ぶ必要がある。基本的にはescape(), unescape()が推奨。日本語文字列をURLパラメーターとして渡すような場合はこの変換は必須。

変換仕様
– 全ての関数で[0-9A-Za-z]は変換されない。
– escape()で変換されない記号は *+-./@_ だけである。
– encodeURI()で変換されない記号は !#$'()*+,-./:;=?@_~ である。
– encodeURIComponent() が変換しない記号は !'()*-._~ のみである。
– マルチバイトなコードについては、たとえば、UTF-8の「あ」は escape() だと %u3042、encodeURL()およびencodeURIComponent() だと %E3%81%82。

変換例 escape()
あいうえお –> %u3042%u3044%u3046%u3048%u304A

カテゴリー: Javascript 関数 タグ: , パーマリンク