【Javascript】でURLエンコード、デコードする方法。

メモ。

■URLエンコード
下記何れかの関数を用いる。

・encodeURI()
・encodeURIComponent()

違いはエンコードしない文字列に差がある点。

関数名 エンコードしない文字列
encodeURI() ;/?:@&=+$-_!~*.,()a#’
encodeURIComponent() -_!~*.()a’

基本的には「encodeURIComponent()」を使ってればいいのではないかと。

■URLデコード
下記何れかの関数を用いる

・decodeURI()
・decodeURIComponent()

エンコード時に使用した関数と対応するデコード方法で復元を行うこと。またこれらの関数はUTF-8でエンコードを行うので、それ以外の文字コードを渡したい場合別のアプローチをとる必要があるので注意されたし。
※いずれの関数もデコードできない文字が含まれるときはスクリプトを終了させてしまうので、適宜try,catchなどをすること。