なんか間違えてたっぽいです。

キーワード

現象

次のコードでデコードしきれない文字がある。

次のコードでエンコードとデコードの対応がうまくいっていない。

原因

URLDecoder.decode()はencodeURIComponent()でエンコードするすべてをデコードしない。 URLDecoder.decode()がデコードしない分はおそらく「#$&+,/:;=?@」で、 encodeURI()と対応づくのかもしれない?(検証してない)

location.hrefがエンコードをどうしてるかに依っていた気がする。

対策

URLDecoder.decode()する想定ならencodeURI()にしておく。
大した数ではないのであるいは不足分を自前でデコードする。

参考

Last-modified: 2013-08-17 (土) 18:07:15 (2227d)