This repository has been archived by the owner on Apr 22, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f079c0b
commit a2fcc47
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# punycode | ||
|
||
Stability: 2 - Unstable | ||
|
||
[Punycode.js](http://mths.be/punycode) is bundled with Node.js v0.6.2+. Use | ||
`require('punycode')` to access it. (To use it with other Node.js versions, | ||
use npm to install the `punycode` module first.) | ||
|
||
## punycode.decode(string) | ||
|
||
Converts a Punycode string of ASCII code points to a string of Unicode code | ||
points. | ||
|
||
// decode domain name parts | ||
punycode.decode('maana-pta'); // 'mañana' | ||
punycode.decode('--dqo34k'); // '☃-⌘' | ||
|
||
## punycode.encode(string) | ||
|
||
Converts a string of Unicode code points to a Punycode string of ASCII code | ||
points. | ||
|
||
// encode domain name parts | ||
punycode.encode('mañana'); // 'maana-pta' | ||
punycode.encode('☃-⌘'); // '--dqo34k' | ||
|
||
## punycode.toUnicode(domain) | ||
|
||
Converts a Punycode string representing a domain name to Unicode. Only the | ||
Punycoded parts of the domain name will be converted, i.e. it doesn't matter if | ||
you call it on a string that has already been converted to Unicode. | ||
|
||
// decode domain names | ||
punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com' | ||
punycode.toUnicode('xn----dqo34k.com'); // '☃-⌘.com' | ||
|
||
## punycode.toASCII(domain) | ||
|
||
Converts a Unicode string representing a domain name to Punycode. Only the | ||
non-ASCII parts of the domain name will be converted, i.e. it doesn't matter if | ||
you call it with a domain that's already in ASCII. | ||
|
||
// encode domain names | ||
punycode.toASCII('mañana.com'); // 'xn--maana-pta.com' | ||
punycode.toASCII('☃-⌘.com'); // 'xn----dqo34k.com' | ||
|
||
## punycode.ucs2 | ||
|
||
### punycode.ucs2.decode(string) | ||
|
||
Creates an array containing the decimal code points of each Unicode character | ||
in the string. While [JavaScript uses UCS-2 | ||
internally](http://mathiasbynens.be/notes/javascript-encoding), this function | ||
will convert a pair of surrogate halves (each of which UCS-2 exposes as | ||
separate characters) into a single code point, matching UTF-16. | ||
|
||
punycode.ucs2.decode('abc'); // [97, 98, 99] | ||
// surrogate pair for U+1D306 tetragram for centre: | ||
punycode.ucs2.decode('\uD834\uDF06'); // [0x1D306] | ||
|
||
### punycode.ucs2.encode(codePoints) | ||
|
||
Creates a string based on an array of decimal code points. | ||
|
||
punycode.ucs2.encode([97, 98, 99]); // 'abc' | ||
punycode.ucs2.encode([0x1D306]); // '\uD834\uDF06' | ||
|
||
## punycode.version | ||
|
||
A string representing the current Punycode.js version number. |