實用工具
輸入
結果
結果會顯示在這裡。DNS 只傳輸 ASCII,所以 münchen.de 或 中国.公司 這類網域名稱,實際上是以 xn--mnchen-3ya.de 和 xn--fiqs8s.xn--55qx5d 的形式傳遞。設定 DNS 紀錄、TLS 憑證、nginx server_name 或電子郵件時會用到 xn-- 形式;日誌裡出現 xn-- 網域時,又需要可讀的形式。這個轉換器以 punycode.js(Node.js 內建多年的實作)逐一標籤雙向轉換。對於網址和電子郵件地址,只轉換網域部分,路徑、查詢字串和 @ 前面的部分都維持不變。
它是怎麼運作的
- 每行一個網域、網址或電子郵件地址;自動模式下,含有 xn-- 標籤的行轉成 Unicode,其他行轉成 Punycode。
- 編碼前會轉成小寫並正規化,全形句號 。 會被當成點,這和瀏覽器處理手動輸入網域的方式相同。
- 以下情況會發出警告:標籤超過 63 個字元、整個網域超過 253 個字元,以及同一標籤混用拉丁字母和西里爾或希臘字母。
- 純 ASCII 網域原樣通過,網址中的 IPv6 位址也不做處理。
你的資料去了哪裡
哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。
本工具免費且免登入,執行結果只存在於你目前的頁面裡,不會被儲存到任何地方。
它要花多少
本工具完全免費,不需要登入,也不消耗點數。
常見問題
- 什麼是同形異義字攻擊?
- 註冊一個看起來像知名網站、卻使用其他文字字元的網域——例如用西里爾字母 а 取代拉丁字母 a 的 аpple.com。在螢幕上兩者幾乎一模一樣,Punycode 卻不同:xn--pple-43d.com。這個工具會標出混用拉丁字母與西里爾或希臘字母的標籤,這是最常見的手法。瀏覽器遇到可疑網域時也會顯示 xn-- 形式。
- 這和網址編碼是同一回事嗎?
- 不是。網址編碼(百分比編碼)用於路徑和查詢字串:ü 會變成 %C3%BC。Punycode 只用於網域名稱,網址裡只有主機部分會用它轉換。網址的其餘部分請使用本站的網址編碼工具。
- 這是完整的 IDNA 2008 / UTS #46 處理嗎?
- 不完全是。它會轉小寫、做 Unicode 正規化(NFC)並處理全形句號 。,足以涵蓋大家實際註冊的網域。但它沒有實作 UTS #46 的全部對應,也不會拒絕註冊管理機構可能拒絕的每個字元,所以在這裡能轉換的名稱,註冊商仍可能不接受。
背後的開源專案
本工具執行在 mathiasbynens/punycode.js 之上,以 MIT 授權發布。如果你需要在自己的程式裡實作同樣的能力,直接用這個函式庫。
mathiasbynens/punycode.js也常被稱作
- punycode 轉換
- 中文網域轉碼
- idn 網域轉換
- xn-- 解碼
- punycode 轉中文
- 仿冒網域檢查