Martin Duerst <[EMAIL PROTECTED]> writes: > I see. I don't think this is a very good idea to use the U+ for > distinction, for the following reasons: > > 1) The u+ -> lower case, U+ -> upper case is not documented anywhere > in the punycode draft (or at least I didn't find it). If used at > all, it should be documented straight at the start of the examples.
This is no issue, since the case is not normative. To produce test vectors, I find it reasonable to include mixed case, so that implementors may find problems in their implementations when confronted with mixed case. > 2) The above convention is very easy to overlook, in particular > because u+ and U+ look so very similar. It is close to a widely > established convention, but differs slightly. So what? Again, we are talking about test vectors here. The casing of the output is not normative - let alone the syntax of the input; usually, input won't be ASCII in the u+ notation anyway. > 3) Punycode can be used in different ways, on mixed strings, on > lc strings that still contain the original casing info, and > on pure lc strings. Maybe there should be separate examples > for all these three uses. While this may be true for Punycode, that is not true for IDNA. In IDNA, nameprep will lower-case the input before applying Punycode. Regards, Martin
