把國際化網域轉成 ASCII 的 punycode,或把 xn-- 還原成文字。
münchen 或「中文」存進 DNS 時,會變成以 xn-- 開頭的 punycode。這一頁轉換的是這些標籤,不是網址編碼:斜線、查詢和片段維持原樣。已經寫好的地址要拆欄位,用 網址解析。
https://münchen.example/ 後面接著中文路徑的連結,轉成 ASCII。@ 後面的網域。路徑裡的漢字不動。xn-- 會報錯,不會吐出半截名字。用點分開的每個標籤各自轉換。example 這種純 ASCII 保持不變。münchen.de 變成 xn--mnchen-3ya.de。中文.com 變成 xn--fiq228c.com。協定、路徑和查詢不做 punycode。再按相反方向做一次就能還原。這是主機名稱用的 IDNA,不是通用的文字加密。
xn-- 到底是哪個名字。Punycode 只用於 DNS 標籤,不用於路徑。路徑如果對方要求編碼,用百分比編碼。
那是本地部分。只有網域才是主機名稱。