Yes, the best way to think of Punycode is as a reversible encoding of <i>any</i> Unicode string, where the encoding only uses bytes that correspond to certain ASCII characters. Any case mapping, case or character restrictions, or prefixing (xn--) is external to Punycode proper.<br>
<br>Here are some examples.<br><br>//Text => [Punycode] => Text<br><br>öbb => [bb-eka] => öbb<br>
ÖBB => [BB-nha ]=> ÖBB<br>I♥NY => [INY-zx5a] => I♥NY<br><br clear="all">Mark<br>
<br><br><div class="gmail_quote">2009/8/30 James Mitchell <span dir="ltr"><<a href="mailto:james.mitchell@ausregistry.com.au">james.mitchell@ausregistry.com.au</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Punycode encode copies all ASCII characters verbatim; all U-labels containing at least one ASCII letter character will exhibit this behaviour.<br>
<br>
Example, xn--bucher-kva decodes to bücher whereas XN--BUCHER-KVA decodes to BüCHER.<br>
<font color="#888888"><br>
James<br>
</font><div><div></div><div class="h5"><br>
> -----Original Message-----<br>
> From: <a href="mailto:idna-update-bounces@alvestrand.no">idna-update-bounces@alvestrand.no</a> [mailto:<a href="mailto:idna-update-">idna-update-</a><br>
> <a href="mailto:bounces@alvestrand.no">bounces@alvestrand.no</a>] On Behalf Of Vint Cerf<br>
> Sent: Monday, 31 August 2009 6:28 AM<br>
> To: Patrik Fältström<br>
> Cc: Wil Tan; Andrew Sullivan; <a href="mailto:idna-update@alvestrand.no">idna-update@alvestrand.no</a>; John C Klensin<br>
> Subject: Re: Comments on draft-ietf-idnabis-defs-10<br>
><br>
> you should not be able to reproduce this if I have understood the<br>
> encoding/decoding algorithm. I thought it treated upper and lower case<br>
> ascii as equal value for purposes of encoding and decoding. this was<br>
> to allow upper/lower case ascii to be case insensitive in the<br>
> punycoding algorithm, I believe.<br>
><br>
> v<br>
><br>
> On Aug 30, 2009, at 3:54 PM, Patrik Fältström wrote:<br>
><br>
> > On 30 aug 2009, at 20.22, Wil Tan wrote:<br>
> ><br>
> >> However, if certain characters in an A-label have<br>
> >> been uppercased, the Punycode decoding algorithm (due to its mixed-<br>
> >> case<br>
> >> annotation feature) may produce invalid U-label because the ASCII<br>
> >> characters<br>
> >> will be in capital letter form.<br>
> ><br>
> > Can you give examples of when this happens? I can not see this<br>
> > result in the punycode algorithm. I also just did some tests with<br>
> > mixed ascii, latin and chinese characters, and can not reproduce.<br>
> ><br>
> > Patrik<br>
> ><br>
> > _______________________________________________<br>
> > Idna-update mailing list<br>
> > <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
> > <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
><br>
> _______________________________________________<br>
> Idna-update mailing list<br>
> <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
> <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
_______________________________________________<br>
Idna-update mailing list<br>
<a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
<a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
</div></div></blockquote></div><br>