0

解碼結果

Punycode IDN

編碼結果

Punycode IDN

關於 Punycode IDN

Punycode 是一種編碼方式,用於只使用 ASCII 字元表示 Unicode 字串。它主要用於將包含日文、中文、韓文或帶重音拉丁字母等字元的國際化網域名稱(IDN)轉換為 DNS 可以處理的 ASCII 形式。

在國際化網域名稱中,網域名稱的每個標籤都會用 Punycode 轉換,並在轉換後的標籤前加上 xn--。這種 ASCII 形式稱為 A-label,原來的 Unicode 形式稱為 U-label。

例如,將「ドメイン.com」轉換為 Punycode IDN 後如下。

xn--eckwd4c7c.com

在這個例子中,頂級網域 com 只包含 ASCII 字元,因此保持不變;只有「ドメイン」這個標籤被轉換為 xn--eckwd4c7c

Unicode 形式Punycode IDN 形式說明
ドメイン.comxn--eckwd4c7c.com包含日文字符的網域名稱。
例え.テストxn--r8jz45g.xn--zckzah多個標籤會分別轉換。
bücher.examplexn--bcher-kva.example包含帶重音拉丁字母的例子。

Punycode IDN 與 URL 編碼是不同的機制。URL 編碼會把 URL 中的字元表示為 %E3%81%82 這樣的位元組序列,而 Punycode IDN 會把網域名稱標籤轉換為以 xn-- 開頭的 ASCII 標籤。

按網域名稱標籤轉換

網域名稱由點號(.)分隔的多個標籤組成。Punycode IDN 不是把整個網域名稱當作一個字串轉換,而是分別轉換每個標籤。

標籤轉換結果
例えxn--r8jz45g
テストxn--zckzah

因此,例え.テスト 的轉換結果是 xn--r8jz45g.xn--zckzah