> >> あと、encodeURIComponent()は、その名の通りURIの個々のコンポーネントを
> >> 引数に取る事を念頭においた関数で、javascriptではString型しかないから、
> >> URIをコンポーネントに分割する責務を利用者に投げている。
> >> URI型を作るなら、もうちょっとインテリジェントにやって欲しいという気もしなくはないかも。
> >> よく知らないけど、URI.split()があるからには、URIの構造をしってるクラスなんですよね?この人。
> > 
> > encodeURIComponent は基本的な考え方としては悪くないと思いま
> > す。! などがそのままなのは甘いと思いますが、古い RFC の影響
> > でしょうね。今だったら unreserved 以外を一律に %-encoding に
> > してしまうのがいいでしょう。
> 
> HTML5 の 4.10.16.4 URL-encoded form data を見ると、
> それに近い動きを言っていますね。
> http://www.whatwg.org/specs/web-apps/current-work/#application/x-www-form-urlencoded-encoding-algorithm
> SP を + に置換してたりはしますが。

SPを+に変換するのはMOSAICから始まる由緒正しい変換で、ありとあらゆる
ブラウザ(*)が採用しているんですが、なぜかURLエンコーディングからは
長年漏れていたんですよね。

(*) ちょっといいすぎか。でも、MOSAIC, Netscape, IEはMOSAIC由来の
    + 変換コードをもってた

で、同じブラウザ内でもスクリプトエンジンとかは規格通りにencodeURI()を
実装するから、どのサブシステムがエンコードする箇所によって結果が
変わっていて、かつ、どこにも文書化されてないし、ブラウザ間の非互換もないから
Webで記事もみつからないしで、場合によってははまるケースがあったという・・

なので、現状追認方向は歓迎されるんじゃないでしょうか。


#雑談メールはさくさく書けていいなー。いい気晴らし :-)