Module 基礎模組

模組punycode

punycode 國際化網域轉換模組

Punycode 是由RFC 3492 定義的主要用於國際化網域名稱的字元編碼方案。因為URL 中主機名稱限制只能是ASCII 字符,包括非ASCII 字符的主機名稱必須使用punycode 演算法轉換為ASCII。

使用方法:

1
var punycode = require('punycode');

靜態函數

encode

將一個Unicode 字串轉換為等價的只含有ASCII 字元的Punycode 字串

1
static String punycode.encode(String domain);

呼叫參數:

  • domain: String, 給定Unicode 字串

回傳結果:

  • String, 傳回編碼後的只含有ASCII 字元的Punycode 字串

decode

將一個Punycode 字串轉換為等價的Unicode 字串

1
static String punycode.decode(String domain);

呼叫參數:

  • domain: String, 給定Unicode 字串

回傳結果:

  • String, 傳回解碼後的Unicode 字串

toASCII

轉換一個代表了一個網域的Unicode字串為一個只含有ASCII 字元的字串。只有代表了網域的部分的非ASCII 字串會被轉換。也就是說,如果你呼叫了一個已經被轉換為ASCII的字串,也是沒有問題的。

1
static String punycode.toASCII(String domain);

呼叫參數:

  • domain: String, 給定Unicode 字串

回傳結果:

  • String, 返回編碼後的ASCII 字串

toUnicode

轉換一個代表了一個網域的Punycode字串為一個Unicode字串。只有代表了網域的部分的Punycode字串會被轉換。也就是說,如果你呼叫了一個已經被轉換成Unicode的字串,也是沒有問題的。

1
static String punycode.toUnicode(String domain);

呼叫參數:

  • domain: String, 給定ASCII 字串

回傳結果:

  • String, 傳回解碼後的Unicode 字串