Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications
RFC 3492, “Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications”, is a Proposed Standard document published in March 2003 by A. Costello. It has since been updated by RFC 5891. The canonical text is published by the RFC Editor.
Abstract
Punycode is a simple and efficient transfer encoding syntax designed for use with Internationalized Domain Names in Applications (IDNA). It uniquely and reversibly transforms a Unicode string into an ASCII string. ASCII characters in the Unicode string are represented literally, and non-ASCII characters are represented by ASCII characters that are allowed in host name labels (letters, digits, and hyphens). This document defines a general algorithm called Bootstring that allows a string of basic code points to uniquely represent any string of code points drawn from a larger set. Punycode is an instance of Bootstring that uses particular parameter values specified by this document, appropriate for IDNA. [STANDARDS-TRACK]
What “Proposed Standard” means
An entry-level standards-track specification: stable, peer-reviewed and a solid basis for implementation, though it may still evolve before becoming an Internet Standard.
The canonical text of RFC 3492 is hosted at rfc-editor.org. Available in TXT,HTML.
- RFC 3491 Nameprep: A Stringprep Profile for Internationalized Domain Names
- RFC 3493 Basic Socket Interface Extensions for IPv6
- RFC 3490 Internationalizing Domain Names in Applications
- RFC 3494 Lightweight Directory Access Protocol version 2 to Historic Status
- RFC 3489 STUN - Simple Traversal of User Datagram Protocol Through Network Address Translators
- RFC 3495 Dynamic Host Configuration Protocol Option for CableLabs Client Configuration
- RFC 3488 Cisco Systems Router-port Group Management Protocol
- RFC 3496 Protocol Extension for Support of Asynchronous Transfer Mode Service Class-aware Multiprotocol Label Switching Traffic Engineering