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 字符串