Punycode
m |
|||
Line 6: | Line 6: | ||
The encoding algorithm is rather complex. Because the length of a domain name is strictly limited, one of its goals is to make the encoded string as small as possible. Another goal is to encode all languages with roughly the same efficiency, and not punish a language merely because its characters are mapped to high Unicode code points. To that end, it is most efficient when encoding a string whose characters lie close together in the Unicode character set. The absolute values of the code points have little effect. | The encoding algorithm is rather complex. Because the length of a domain name is strictly limited, one of its goals is to make the encoded string as small as possible. Another goal is to encode all languages with roughly the same efficiency, and not punish a language merely because its characters are mapped to high Unicode code points. To that end, it is most efficient when encoding a string whose characters lie close together in the Unicode character set. The absolute values of the code points have little effect. | ||
+ | |||
+ | When used in a domain name, the Unicode name is encoded in Punycode, and then appended to the ASCII string "<code>xn--</code>". | ||
== Specifications == | == Specifications == | ||
Line 11: | Line 13: | ||
== External links == | == External links == | ||
− | * [[Wikipedia:Punycode | + | * [[Wikipedia: Punycode]] |
+ | * [[Wikipedia: Internationalized domain name]] | ||
[[Category:Transfer Encodings]] | [[Category:Transfer Encodings]] |
Revision as of 21:35, 14 April 2016
Punycode is a special purpose Unicode character encoding. It encodes a string of Unicode text as a string of ASCII characters suitable for use in a domain name.
The encoding algorithm is rather complex. Because the length of a domain name is strictly limited, one of its goals is to make the encoded string as small as possible. Another goal is to encode all languages with roughly the same efficiency, and not punish a language merely because its characters are mapped to high Unicode code points. To that end, it is most efficient when encoding a string whose characters lie close together in the Unicode character set. The absolute values of the code points have little effect.
When used in a domain name, the Unicode name is encoded in Punycode, and then appended to the ASCII string "xn--
".
Specifications
- RFC 3492: Punycode