IDNs let domain names contain non-ASCII characters. They are encoded as Punycode on the wire and rendered as Unicode in the browser, subject to anti-spoofing rules.
RFC 5890 — IDNA 2008: Definitions and Document Framework
Unicode TR #46 — Unicode IDNA Compatibility Processing