From: Tanaka Akira Date: 2009-09-10T19:00:21+09:00 Subject: [ruby-dev:39294] Re: Is URI.decode() broken? In article <4AA78D67.3010501@it.aoyama.ac.jp>, "Martin J. D.AN|rst" writes: > $B0lHL$NJ8;z(B (unreserved, a-zA-Z0-9$B$J$I(B) $B$O%(%9%1!<%W$7$F$b$7$J$/$F$bF1$8(B > $B$N$O$:!#$7$?$,$C$F(B %41 -> A $B$O$$$D$G$b2DG=$G$9!#(BURI $B$NJ8K!Fb$K0UL#$r$J$9(B > $BJ8;z(B (delimiters) $B$O%(%9%1!<%W$5$l$?$b$N$H%(%9%1!<%W$5$l$F$J$$$b$N$G$O0U(B > $BL#$,0c$$$^$9$N$G!"$$$D$G$bJQ49$G$-$k$H$O8B$i$l$^$;$s!#$?$H$($P(B > http://example.com/abc#def $B$H(B http://example.com/abc%23def $B$O:,K\E*$K0c(B > $B$$$^$9!#A0 $B%$%k$^$?$@%G%#%l%/%H%j$J$I(B) $B$G$"$k!#L5:9JL$K(B %23 -> # $B$r$9$k$N$O4V0c$$$G(B > $B$"$k!#(Bdecode $B$G$b$I$NItJ,$r(B decode $B$9$k$K$h$C$F$$$m$$$m0c$C$F$/$k!#(B $B$=$N(B decode $B$N0c$$$K$h$C$F!"$I$3$+$NItJ,$G$O(B decodeURI $B$,Lr(B $B$KN)$D$H$$$&$3$H$G$7$g$&$+(B? %25 $B$r(B % $B$K$7$F!"$+$D!"(B%40 $B$r(B %40 $B$N$^$^$K$9$k$H$$$&(B decodeURI $B$,$I$&$$$&>u67$G;H$&$N$+$H$$$&OC$J$s$G$9$,!"(B $B6qBNE*$K$O$I$NItJ,$G(B decodeURI $B$,Lr$KN)$D$s$G$7$g$&(B? > 'abc#def', :fragment -> 'abc#def' $BKt$O(B 'abc%23def' # fragment $BFb$G$O(B # > $B$b(B %23 $B$bF1MM(B $B$=$N9M$(J}$K$O;?@.$J$N$G$9$,!";DG0$J$3$H$K(B RFC 3986 $B$G$O(B fragment $B$K$O(B # $B$OF~$l$i$l$^$;$s!#(B fragment = *( pchar / "/" / "?" ) pchar = unreserved / pct-encoded / sub-delims / ":" / "@" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" $BJQ$o$C$?$j$7$?$s$G$7$g$&$+(B? $BJQ$($k$J$i!"(B fragment = *( pchar / "/" / "?" / "#" ) $B$H$9$k$N$G$7$g$&$,!#(B $B$=$&$$$($P!"(B"#" $B$@$1$8$c$J$/$F(B "[" $B$H(B "]" $B$bF~$l$?$[$&$,$$$$(B $B$+$b$7$l$^$;$s$M!#(Bfragment $B$KF~$l$F$b6h@Z$j$r4V0c$($k$3$H$O(B $B$J$$$N$G!#(Bfragment $B$@$1$8$c$J$/$F(B query $B$H$+B>$K$bF~$l$i$l$k(B $B$H;W$$$^$9$,!#(B > 'abc#def', :uri -> 'abc#def' # URI $BA4BN$G$O(B # $B$O(B fragment $BA0$N6h@Z$j$J$N(B > $B$G!"(B%23 $B$O$@$a(B RFC 3986 $B$N(B URI $B$O(B fragment $B$^$G4^$_$^$9$N$G!"LdBj$"$j$^$;$s!#(B $B$b$A$m$s!"(Bdef $B$O(B fragment $B$N0UL#$K$J$j$^$9$,!#(B URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] $B$^$!!"$3$N>l9g$O(B scheme $B$,$J$$$N$GAjBP;2>H$K$J$j$^$9$,!"$=$l(B $B$G$b(B fragment $B$,F~$k$3$H$K$O0c$$$"$j$^$;$s!#(B relative-ref = relative-part [ "?" query ] [ "#" fragment ] $B$b$7$+$7$F!"(BRFC 2396 $B$G$NOC$G$9$+(B? -- [$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira]