Encodes Unicode domain names (internationalized domain names, IDN) into ASCII-compatible Punycode (e.g. münchen.de → xn--mnchen-3ya.de).
Browsers and DNS use Punycode to support non-ASCII characters in hostnames while keeping the underlying protocol ASCII.