|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.net.IDN
public final class IDN
提供在普通 Unicode 表示形式和 ASCII 相容性編碼 (ACE) 表示形式之間進行國際化域名 (IDN) 轉換的方法。國際化域名可以使用整個 Unicode 範圍內的字元,而傳統域名只限於 ASCII 字元。ACE 是只使用 ASCII 字元的 Unicode 字元串編碼方式,能夠與只識別傳統域名的軟體(如 Domain Name System)一起使用。
國際化域名在 RFC 3490 中定義。RFC 3490 定義了兩種操作:ToASCII 和 ToUnicode。這兩種操作使用 Nameprep 演算法(Stringprep 的配置檔案)和 Punycode 演算法來回地轉換域名字元串。
上述轉換處理的行為可以用各種標誌進行調整:
有關國際化域名支持的安全考慮至關重要。例如,英文域名可能被拼寫成同形異義詞,即故意用非 Latin 字母替代而錯拼的詞。Unicode Technical Report #36 討論了 IDN 支持的安全問題以及可能的解決方案。在使用國際域名時應用程序負責採取足夠的安全措施。
欄位摘要 | |
---|---|
static int |
ALLOW_UNASSIGNED
允許處理未分派程式碼點的標誌。 |
static int |
USE_STD3_ASCII_RULES
根據 STD-3 ASCII 規則執行檢查的標誌。 |
方法摘要 | |
---|---|
static String |
toASCII(String input)
根據 RFC 3490 的 ToASCII 操作中的定義,將字元串從 Unicode 轉換為 ASCII 相容性編碼 (ACE)。 |
static String |
toASCII(String input,
int flag)
根據 RFC 3490 的 ToASCII 操作中的定義,將字元串從 Unicode 轉換為 ASCII 相容性編碼 (ACE)。 |
static String |
toUnicode(String input)
根據 RFC 3490 的 ToUnicode 操作中的定義,將字元串從 ASCII 相容性編碼 ACE) 轉換為 Unicode。 |
static String |
toUnicode(String input,
int flag)
根據 RFC 3490 的 ToUnicode 操作中的定義,將字元串從 ASCII 相容性編碼 (ACE) 轉換為 Unicode。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int ALLOW_UNASSIGNED
public static final int USE_STD3_ASCII_RULES
方法詳細資訊 |
---|
public static String toASCII(String input, int flag)
ToASCII 操作可能失敗。如果其任何步驟失敗,則 ToASCII 失敗。如果 ToASCII 操作失敗,則拋出 IllegalArgumentException。在這種情況下,輸入字元串不應在國際化域名中使用。
標籤是域名的單獨部分。根據 RFC 3490 中的定義,初始 ToASCII 操作只在單個標籤上運行。通過假定域名中的標籤始終用點分隔,此方法可以處理標籤和整個域名。以下字元被識別為點:\u002E(句點)、\u3002(表意句點)、\uFF0E(全角句點)和 \uFF61(半角表意句點)。如果點被用作標籤分隔符,則此方法在輸出轉換字元串中將它們全部更改為 \u002E(句點)。
input
- 要處理的字元串flag
- 處理標誌;可以為 0 或任何可能標誌的邏輯或
IllegalArgumentException
- 如果輸入字元串未遵守 RFC 3490 規範public static String toASCII(String input)
此便捷方法的工作方式類似於調用帶兩個參數的對應方法,如下所示:
toASCII
(input, 0);
input
- 要處理的字元串
IllegalArgumentException
- 如果輸入字元串未遵守 RFC 3490 規範public static String toUnicode(String input, int flag)
ToUnicode 永遠不會失敗。出現任何錯誤時,返回的輸入字元串保持不變。
標籤是域名的單獨部分。根據 RFC 3490 中的定義,初始 ToUnicode 操作只在單個標籤上運行。通過假定域名中的標籤始終用點分隔,此方法可以處理標籤和整個域名。以下字元被識別為點:\u002E(句點)、\u3002(表意句點)、\uFF0E(全角句點)和 \uFF61(半角表意句點)。
input
- 要處理的字元串flag
- 處理標誌;可以為 0 或任何可能標誌的邏輯或
public static String toUnicode(String input)
此便捷方法的工作方式類似於調用帶兩個參數的對應方法,如下所示:
toUnicode
(input, 0);
input
- 要處理的字元串
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。