punycode
Punycode is an encoding algorithm that enables Unicode strings to be represented using only ASCII characters, allowing internationalized text to be used in contexts that require ASCII. It is the encoding component of ACE (ASCII Compatible Encoding) in the Internationalized Domain Names in Applications (IDNA) framework. Punycode is defined in RFC 3492 and is widely implemented in browsers, mail systems, and software libraries to support non-ASCII domain labels.
Punycode works by separating ASCII (basic) code points from non-ASCII (non-basic) code points. The basic code
The encoding uses a base-36 numeral system and includes a bias adaptation mechanism that keeps the length
Standards and adoption: Punycode is specified in RFC 3492, and its use within domain names is described