What is punycode?
Punycode is a way to represent International Domain Names (IDNs) with the limited character set ('a'-'z', '0'-'9') supported by the domain name system. For example "münich" would be encoded as "mnich-kva".
An IDN takes the punycode encoding, and adds a 'xn--' in front of it. So "münich.com" would become "xn--mnich-kva.com".