Punycode

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
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 article]]
+
* [[Wikipedia: Punycode]]
 +
* [[Wikipedia: Internationalized domain name]]
  
 
[[Category:Transfer Encodings]]
 
[[Category:Transfer Encodings]]

Revision as of 21:35, 14 April 2016

File Format
Name Punycode
Ontology

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

External links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox