Punycode

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Category:Transfer Encodings)
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Character Encodings
+
|subcat=Character encoding
 +
|subcat2=Unicode
 
}}
 
}}
 
 
'''Punycode''' is a special purpose [[Unicode]] [[Character Encodings|character encoding]]. It encodes a string of Unicode text as a string of [[ASCII]] characters suitable for use in a [[domain name]].
 
'''Punycode''' is a special purpose [[Unicode]] [[Character Encodings|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.
 
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 12: Line 14:
  
 
== External links ==
 
== External links ==
* [[Wikipedia:Punycode|Wikipedia article]]
+
* [[Wikipedia: Punycode]]
 +
* [[Wikipedia: Internationalized domain name]]
  
 
[[Category:Transfer Encodings]]
 
[[Category:Transfer Encodings]]

Latest revision as of 02:35, 21 May 2019

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--".

[edit] Specifications

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox