新聞中心
IDN

創(chuàng)新互聯(lián)建站秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),小程序設(shè)計,網(wǎng)頁設(shè)計制作,手機網(wǎng)站制作,網(wǎng)絡(luò)營銷推廣幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
java.lang.Object
|---java.net.IDN
public final class IDN
extends Object提供在普通 Unicode 表示和 ASCII 兼容編碼 (ACE) 表示之間轉(zhuǎn)換國際化域名 (IDN) 的方法。 國際化域名可以使用整個 Unicode 范圍內(nèi)的字符,而傳統(tǒng)域名僅限于 ASCII 字符。 ACE 是一種僅使用 ASCII 字符的 Unicode 字符串編碼,可以與只理解傳統(tǒng)域名的軟件(例如域名系統(tǒng))一起使用。
國際化域名在 RFC 3490 中定義。RFC 3490 定義了兩種操作:ToASCII 和 ToUnicode。 這兩個操作使用 Nameprep 算法,它是 Stringprep 的一個配置文件,以及 Punycode 算法來來回轉(zhuǎn)換域名字符串。
上述轉(zhuǎn)換過程的行為可以通過各種標志進行調(diào)整:
- 如果使用 ALLOW_UNASSIGNED 標志,則要轉(zhuǎn)換的域名字符串可以包含在 Unicode 3.2 中未分配的代碼點,這是 IDN 轉(zhuǎn)換所基于的 Unicode 版本。 如果未使用該標志,則將此類未分配代碼點的存在視為錯誤。
- 如果使用 USE_STD3_ASCII_RULES 標志,則對照 RFC 1122 和 RFC 1123 檢查 ASCII 字符串。如果它們不符合要求,則會出錯。
這些標志可以邏輯或在一起。
安全考慮對于國際化域名支持很重要。 例如,英文域名可能是同形異義詞——通過替換非拉丁字母而惡意拼寫錯誤。 Unicode 技術(shù)報告 #36 討論了 IDN 支持的安全問題以及可能的解決方案。 應(yīng)用程序有責任在使用國際域名時采取足夠的安全措施。
字段摘要
| 修飾符和類型 | 字段 | 描述 |
|---|---|---|
| static int | ALLOW_UNASSIGNED | 允許處理未分配代碼點的標志 |
| static int | USE_STD3_ASCII_RULES | 標記以打開對 STD-3 ASCII 規(guī)則的檢查 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| static String | toASCII(String input) | 將字符串從 Unicode 轉(zhuǎn)換為 ASCII 兼容編碼 (ACE),由 RFC 3490 的 ToASCII 操作定義。 |
| static String | toASCII(String input, int flag) | 將字符串從 Unicode 轉(zhuǎn)換為 ASCII 兼容編碼 (ACE),由 RFC 3490 的 ToASCII 操作定義。 |
| static String | toUnicode(String input) | 將字符串從 ASCII 兼容編碼 (ACE) 轉(zhuǎn)換為 Unicode,由 RFC 3490 的 ToUnicode 操作定義。 |
| static String | toUnicode(String input, int flag) | 將字符串從 ASCII 兼容編碼 (ACE) 轉(zhuǎn)換為 Unicode,由 RFC 3490 的 ToUnicode 操作定義。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段詳細信息
ALLOW_UNASSIGNED
public static final int ALLOW_UNASSIGNED
允許處理未分配代碼點的標志
USE_STD3_ASCII_RULES
public static final int USE_STD3_ASCII_RULES
標記以打開對 STD-3 ASCII 規(guī)則的檢查
方法詳情
toASCII
public static String toASCII(String input, int flag)
將字符串從 Unicode 轉(zhuǎn)換為 ASCII 兼容編碼 (ACE),由 RFC 3490 的 ToASCII 操作定義。
ToASCII 操作可能會失敗。 如果任何步驟失敗,ToASCII 就會失敗。 如果 ToASCII 操作失敗,將拋出 IllegalArgumentException。 在這種情況下,不應(yīng)在國際化域名中使用輸入字符串。
標簽是域名的獨立部分。 RFC 3490 中定義的原始 ToASCII 操作僅對單個標簽進行操作。 該方法可以處理標簽和整個域名,假設(shè)域名中的標簽總是用點分隔。 以下字符被識別為點:\u002E(句號)、\u3002(表意句號)、\uFF0E(全角句號)和\uFF61(半角表意句號)。 如果將點用作標簽分隔符,則此方法還將在輸出翻譯字符串中將它們?nèi)扛臑?\u002E(句號)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| input | 要處理的字符串 |
| flag | 進程標志; 可以是 0 或可能標志的任何邏輯或 |
返回:
翻譯后的字符串
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果輸入字符串不符合 RFC 3490 規(guī)范 |
toASCII
public static String toASCII(String input)
將字符串從 Unicode 轉(zhuǎn)換為 ASCII 兼容編碼 (ACE),由 RFC 3490 的 ToASCII 操作定義。
這種方便的方法就像通過調(diào)用兩個參數(shù)對應(yīng)物一樣工作,如下所示:
toASCII(input, 0);
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| input | 要處理的字符串 |
返回:
翻譯后的字符串
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果輸入字符串不符合 RFC 3490 規(guī)范 |
toUnicode
public static String toUnicode(String input, int flag)
將字符串從 ASCII 兼容編碼 (ACE) 轉(zhuǎn)換為 Unicode,由 RFC 3490 的 ToUnicode 操作定義。
ToUnicode 永遠不會失敗。 如果出現(xiàn)任何錯誤,輸入字符串將不加修改地返回。
標簽是域名的獨立部分。 RFC 3490 中定義的原始 ToUnicode 操作僅對單個標簽進行操作。 該方法可以處理標簽和整個域名,假設(shè)域名中的標簽總是用點分隔。 以下字符被識別為點:\u002E(句號)、\u3002(表意句號)、\uFF0E(全角句號)和\uFF61(半角表意句號)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| input | 要處理的字符串 |
| flag | 進程標志; 可以是 0 或可能標志的任何邏輯或 |
返回:
翻譯后的字符串
toUnicode
public static String toUnicode(String input)
將字符串從 ASCII 兼容編碼 (ACE) 轉(zhuǎn)換為 Unicode,由 RFC 3490 的 ToUnicode 操作定義。
這種方便的方法就像通過調(diào)用兩個參數(shù)對應(yīng)物一樣工作,如下所示:
toUnicode(input, 0);
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| input | 要處理的字符串 |
返回:
翻譯后的字符串
當前名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSIDN
文章網(wǎng)址:http://fisionsoft.com.cn/article/cddjhpe.html


咨詢
建站咨詢
