[2] RFC1808 によれば:
- pchar = uchar | ":" | "@" | "&" | "="
つまり:
- rfc1808.pchar = <[A-Za-z0-9$_.+!*'(),:@&=-]> / escaped
[1] RFC2396 によれば:
- pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
つまり:
- rfc2396.pchar = <[A-Za-z0-9_.!~*'():@&=+$,-]> /
escaped
1808 と 2396 では変化がありません。
2396 の uric_no_slash
と比べると多少の出入りがあります。
[3] RFC2068 によれば:
- pchar = uchar | ":" | "@" | "&" | "=" | "+"
- uchar = unreserved | escape
- unreserved = ALPHA | DIGIT | safe | extra | national
- national = <any OCTET excluding ALPHA, DIGIT, reserved, extra, safe, and unsafe>
つまり:
- rfc2068.pchar = (OCTET - (%x00-20 / <"> / "#" / "%" / "<" / ">")) / escape
無茶苦茶な定義のような気がしますが、
3.2.1 に言い訳染みたことがなんか書いてあります。
人に優しく自分に厳しくってことです。
一般の URI を規定するものではないと注記されています。
[4] 最新は RFC 3986