个性化阅读
专注于IT技术分析

Node.js Punycode用法

本文概述


什么是Punycode

Punycode是一种编码语法, 用于将Unicode(UTF-8)字符串转换为基本ASCII字符串。由于主机名仅理解ASCII字符, 因此使用Punycode。它用作国际化域名(IDN或IDNA)。让我们通过一个例子来理解它:

假设你在浏览器中搜索mañana.com, 则你的浏览器(启用了IDNA)首先将其转换为punycode xn--maana-pta.com, 因为常规域名中不允许使用字符ñ。在较早的版本中不支持它。

Node.js中的Punycode

Punycode.js与Node.js v0.6.2和更高版本捆绑在一起。如果要与其他Node.js版本一起使用, 请先使用npm安装punycode模块。你必须使用require(” punycode”)进行访问。

句法:

punycode = require('punycode');

punycode.decode(字符串)

它用于将ASCII符号的Punycode字符串转换为Unicode符号的字符串。

文件:punycode_example1.js

punycode = require('punycode');
console.log(punycode.decode('maana-pta'));

输出

Node.js punycode示例1

punycode.encode(字符串)

它用于将Unicode符号字符串转换为ASCII符号的Punycode字符串。

文件:punycode_example2.js

punycode = require('punycode');
console.log(punycode.encode('☃-⌘'));

输出

Node.js punycode示例2

punycode.toASCII(域)

它用于将表示域名的Unicode字符串转换为Punycode。仅转换域名的非ASCII部分。

文件:punycode_example3.js

punycode = require('punycode');
console.log(punycode.toASCII('mañana.com'));

输出

Node.js punycode示例3

punycode.toUnicode(域)

它用于将代表域名的Punycode字符串转换为Unicode。仅域名的Punycoded部分被转换。

文件:punycode_example4.js

punycode = require('punycode');
console.log(punycode.toUnicode('xn--maana-pta.com'));

输出

Node.js punycode示例4
赞(0)
未经允许不得转载:srcmini » Node.js Punycode用法

评论 抢沙发

评论前必须登录!