Punycode 編解碼

🔤 Punycode Encode/Decode

📐 工作原理與說明
國際化域名(IDN)的 Punycode 編解碼。
  • 用途:DNS 只支援 ASCII,含非 ASCII 字元的域名必須轉寫為 Punycode 才能解析。
  • 編碼:保留原有 ASCII 部分,非 ASCII 部分按演算法壓縮為字母數字串。
  • 字首:轉換結果以 xn-- 開頭,如「中國」→ xn--fiqs8s。
  • IDNA:實際域名系統使用 IDNA 規則,先做名稱預處理再做 Punycode 編碼。

Encode and decode Punycode (RFC 3492) for internationalized domain names (IDN) directly in your browser.

📖 演算法說明

Punycode 用於 IDN 域名轉換,將非 ASCII 域名轉為 ASCII。

例如: 中文.com → xn--fiqs8s.com

📚 深度解析:Punycode 編解碼

💡 常見使用場景

  • 把含中文的域名(如 中文.com)編碼為 ASCII 以相容 DNS。
  • 給中文域名備案或配置 DNS 時轉成 xn-- 形式,因為 DNS 系統本身只接受 ASCII 字元。
編碼 "中文"
輸入 `中文` → 輸出 `xn--fiq228c`(即域名標籤 `xn--fiq228c`)。

❓ 常見問題(FAQ)

瀏覽器位址列為何顯示中文?
瀏覽器解碼 Punycode 後展示 Unicode,但底層 DNS 仍用 xn-- 形式。
為什麼要警惕同形異義域名?
因為不同語言的字元可能長得幾乎一樣(如西里爾字母 а 與拉丁字母 a),攻擊者可註冊外觀相同但碼點不同的域名做釣魚。因此瀏覽器對 IDN 有顯示策略:若混用了多種文字,往往直接顯示 Punycode 而非原文。企業應為品牌域名註冊常見變體。
⚠️ 使用說明與注意事項
📖關於「Punycode 編解碼」 ▼

📝工具簡介

Punycode 編解碼。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。