UNPKG

learnyounode

Version:

Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.

191 lines (177 loc) 9.43 kB
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>punycode Node.js v0.10.35 Manual &amp; Documentation</title> <link rel="stylesheet" href="assets/style.css"> <link rel="stylesheet" href="assets/sh.css"> <link rel="canonical" href="http://nodejs.org/api/punycode.html"> <script type="text/javascript" src="//use.typekit.net/mse5tqx.js"></script> <script type="text/javascript">try{Typekit.load();}catch(e){}</script> </head> <body class="alt apidoc int docs" id="docs"> <div id="nav"> <img id="logo" src="assets/logo.svg" alt="node.js"> <ul> <li><a href="http://nodejs.org">Home</a></li> <li><a href="http://nodejs.org/download/">Downloads</a></li> <li class="active"><a href="http://nodejs.org/documentation/">Docs</a></li> <li><a href="http://nodejs.org/community/">Community</a></li> <li><a href="http://nodejs.org/about/">About</a></li> <li><a href="http://jobs.nodejs.org">Jobs</a></li> <li><a href="http://blog.nodejs.org">Blog</a></li> </ul> </div> <div id="content-wrap"> <div id="content" class="clearfix"> <div id="column2" class="interior"> <!--<img src="/images/logo-light.svg" alt="node.js" width="170">--> <ul class="docs-nav"> <li><a href="http://nodejs.org/documentation/">About Docs</a></li> <li><a href="http://nodejs.org/documentation/tutorials/">Tutorials</a></li> <li><a href="http://nodejs.org/documentation/contributing/">Contributing</a></li> <li><a href="http://nodejs.org/documentation/localization/">Localization</a></li> <li class="active"><a href="http://nodejs.org/api/">API Docs</a></li> </ul> </div> <div id="column1" class="interior"> <header> <h1>Node.js v0.10.35 Manual &amp; Documentation</h1> <div id="gtoc"> <p> <a href="index.html" name="toc">Index</a> | <a href="all.html">View on single page</a> | <a href="punycode.json">View as JSON</a> </p> </div> <hr> </header> <div id="toc"> <h2>Table of Contents</h2> <ul> <li><a href="#punycode_punycode">punycode</a><ul> <li><a href="#punycode_punycode_decode_string">punycode.decode(string)</a></li> <li><a href="#punycode_punycode_encode_string">punycode.encode(string)</a></li> <li><a href="#punycode_punycode_tounicode_domain">punycode.toUnicode(domain)</a></li> <li><a href="#punycode_punycode_toascii_domain">punycode.toASCII(domain)</a></li> <li><a href="#punycode_punycode_ucs2">punycode.ucs2</a><ul> <li><a href="#punycode_punycode_ucs2_decode_string">punycode.ucs2.decode(string)</a></li> <li><a href="#punycode_punycode_ucs2_encode_codepoints">punycode.ucs2.encode(codePoints)</a></li> </ul> </li> <li><a href="#punycode_punycode_version">punycode.version</a></li> </ul> </li> </ul> </div> <div id="apicontent"> <h1>punycode<span><a class="mark" href="#punycode_punycode" id="punycode_punycode">#</a></span></h1> <pre class="api_stability_2">Stability: 2 - Unstable</pre><p><a href="http://mths.be/punycode">Punycode.js</a> is bundled with Node.js v0.6.2+. Use <code>require(&#39;punycode&#39;)</code> to access it. (To use it with other Node.js versions, use npm to install the <code>punycode</code> module first.) </p> <h2>punycode.decode(string)<span><a class="mark" href="#punycode_punycode_decode_string" id="punycode_punycode_decode_string">#</a></span></h2> <p>Converts a Punycode string of ASCII code points to a string of Unicode code points. </p> <pre><code>// decode domain name parts punycode.decode(&#39;maana-pta&#39;); // &#39;mañana&#39; punycode.decode(&#39;--dqo34k&#39;); // &#39;☃-⌘&#39;</code></pre> <h2>punycode.encode(string)<span><a class="mark" href="#punycode_punycode_encode_string" id="punycode_punycode_encode_string">#</a></span></h2> <p>Converts a string of Unicode code points to a Punycode string of ASCII code points. </p> <pre><code>// encode domain name parts punycode.encode(&#39;mañana&#39;); // &#39;maana-pta&#39; punycode.encode(&#39;☃-⌘&#39;); // &#39;--dqo34k&#39;</code></pre> <h2>punycode.toUnicode(domain)<span><a class="mark" href="#punycode_punycode_tounicode_domain" id="punycode_punycode_tounicode_domain">#</a></span></h2> <p>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&#39;t matter if you call it on a string that has already been converted to Unicode. </p> <pre><code>// decode domain names punycode.toUnicode(&#39;xn--maana-pta.com&#39;); // &#39;mañana.com&#39; punycode.toUnicode(&#39;xn----dqo34k.com&#39;); // &#39;☃-⌘.com&#39;</code></pre> <h2>punycode.toASCII(domain)<span><a class="mark" href="#punycode_punycode_toascii_domain" id="punycode_punycode_toascii_domain">#</a></span></h2> <p>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&#39;t matter if you call it with a domain that&#39;s already in ASCII. </p> <pre><code>// encode domain names punycode.toASCII(&#39;mañana.com&#39;); // &#39;xn--maana-pta.com&#39; punycode.toASCII(&#39;☃-⌘.com&#39;); // &#39;xn----dqo34k.com&#39;</code></pre> <h2>punycode.ucs2<span><a class="mark" href="#punycode_punycode_ucs2" id="punycode_punycode_ucs2">#</a></span></h2> <h3>punycode.ucs2.decode(string)<span><a class="mark" href="#punycode_punycode_ucs2_decode_string" id="punycode_punycode_ucs2_decode_string">#</a></span></h3> <p>Creates an array containing the decimal code points of each Unicode character in the string. While <a href="http://mathiasbynens.be/notes/javascript-encoding">JavaScript uses UCS-2 internally</a>, 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. </p> <pre><code>punycode.ucs2.decode(&#39;abc&#39;); // [97, 98, 99] // surrogate pair for U+1D306 tetragram for centre: punycode.ucs2.decode(&#39;\uD834\uDF06&#39;); // [0x1D306]</code></pre> <h3>punycode.ucs2.encode(codePoints)<span><a class="mark" href="#punycode_punycode_ucs2_encode_codepoints" id="punycode_punycode_ucs2_encode_codepoints">#</a></span></h3> <p>Creates a string based on an array of decimal code points. </p> <pre><code>punycode.ucs2.encode([97, 98, 99]); // &#39;abc&#39; punycode.ucs2.encode([0x1D306]); // &#39;\uD834\uDF06&#39;</code></pre> <h2>punycode.version<span><a class="mark" href="#punycode_punycode_version" id="punycode_punycode_version">#</a></span></h2> <p>A string representing the current Punycode.js version number. </p> </div> </div> </div> </div> <div id="footer"> <div class="foot-1"> <a href="http://www.joyent.com"><h5>The Node.js Project is Sponsored by</h5> <img src="assets/joyent-footer.svg" width="200"> <p class="tag">Production Node +<br>High Performance Infrastructure</p></a> <a href="https://my.joyent.com/landing/signup/701800000015696" class="button getstarted">Get Started</a> </div> <div class="foot-2"> <div class="foot-nav"> <ul> <li><a href="http://nodejs.org/download/">Downloads</a></li> </ul> <ul> <li><a href="http://nodejs.org/documentation/">Documentation</a></li> <li><a href="http://nodejs.org/api/">API Docs</a></li> <li><a href="http://nodejs.org/documentation/tutorials/">Tutorials</a></li> <li><a href="http://nodejs.org/documentation/localization/">Localization</a></li> </ul> <ul> <li><a href="http://nodejs.org/community/">Community</a></li> <li><a href="https://github.com/joyent/node/issues">Github Issues</a></li> <li><a href="http://groups.google.com/group/nodejs">Mailing List</a></li> <li><a href="http://webchat.freenode.net/?channels=node.js">IRC</a></li> <li><a href="https://twitter.com/nodejs">Twitter</a></li> </ul> <ul> <li><a href="http://nodejs.org/about/">About</a></li> <li><a href="http://nodejs.org/about/organization/">Organization</a></li> <li><a href="http://nodejs.org/about/core-team/">Core Team</a></li> <li><a href="http://nodejs.org/about/resources/">Resources</a></li> </ul> <ul> <li><a href="http://blog.nodejs.org">Blog</a></li> </ul> </div> <p class="copyright">Copyright 2014 <a href="http://joyent.com/">Joyent, Inc</a>, Node.js is a <a href="https://nodejs.org/images/trademark-policy.pdf">trademark</a> of Joyent, Inc. <a href="https://raw.github.com/joyent/node/v0.10.35/LICENSE">View license</a>.</p> </div> </div> <script src="/sh_main.js"></script> <script src="/sh_javascript.min.js"></script> <script>highlight(undefined, undefined, 'pre');</script> <script> window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']]; (function(d, t) { var g = d.createElement(t), s = d.getElementsByTagName(t)[0]; g.src = '//www.google-analytics.com/ga.js'; s.parentNode.insertBefore(g, s); }(document, 'script')); </script> </body> </html>