• Node.js Video Tutorials

NodeJS - url.domainToASCII() 方法



URL 類中的NodeJS url.domainToASCII() 方法返回 Punycode,它將域轉換為 ASCII 字元並表示它們。此方法執行 url.domainToUnicode() 方法的逆運算。

Punycode 是一種字元編碼方案,用於轉換國際化域名。包含非 ASCII 字元的域名將使用 Punycode 轉換為 ASCII。例如,考慮日語字元“こんにちは”,其英文含義為“Hello”。因此,“こんにちは.com”(相當於“Hello.com”)用 Punycode 表示為 ASCII 字串“xn--28j2a3ar1p.com”

語法

以下是URL 類的 NodeJS url.domainToASCII() 方法的語法

URL.domainToASCII(domain)

引數

  • domain: 此引數指定將由 Punycode 轉換的字串。

返回值

此方法返回域的 Punycode ASCII 序列化。

示例

如果我們傳遞給 NodeJS url.domainToASCII() 方法的域包含非 ASCII 字元,它將使用 Punycode 方案將這些字元轉換為 ASCII。

在下面的示例中,我們將包含非 ASCII 字元的域字串傳遞給 NodeJS url.domainToASCII() 方法。

const url = require('node:url');

let domain = url.domainToASCII('ñewyork.com');
console.log(domain);

輸出

執行上述程式後,將生成以下輸出

xn--ewyork-vwa.com

示例

如果我們將國際化域名傳遞給 domainToASCII() 方法,Punycode 將將其轉換為 ASCII 字元並表示它們。

在下面的示例中,我們將包含日語字元的域字串傳遞給 domainToASCII() 方法。

const url = require('node:url');

let domain = url.domainToASCII('你好.com');
console.log(domain);

輸出

正如我們在輸出中看到的,Punycode 將轉換日語字元並將它們表示為 ASCII 字串。

xn--6qq79v.com

示例

如果我們將無效的域名傳遞給 domainToASCII() 方法,它將返回空字串。

在下面的示例中,我們嘗試將無效的域傳遞給 domainTOASCII() 方法。

const url = require('node:url');

let domain = url.domainToASCII('xn--iñvalid.com');
console.log(domain);

輸出

執行上述程式後,將生成以下輸出

//Returns an empty string
nodejs_url_module.htm
廣告