tools / punycode
punycode/
中文網域和 xn-- 開頭的 Punycode 互相轉換。每行一個網域或網址,可以批次貼上。
網域
Punycode
常見問題
Punycode 是什麼,中文網域為什麼會變成 xn-- 開頭
網域名稱系統(DNS)只認英文字母、數字和連字號。Punycode 把中文、日文這類字元編碼成這幾種字元,再在前面加上 xn--,例如 中文.com 就是 xn--fiq228c.com。瀏覽器網址列顯示的是中文,但實際送出查詢和請求的是 xn-- 這一串。
設定 DNS 解析、Nginx 或 SSL 憑證時,中文網域該填哪一種
多數管理後台和設定檔要填 xn-- 形式:DNS 記錄、Nginx 的 server_name、憑證申請裡的網域都是這樣。少數平台的後台可以直接填中文,它們會自己轉換。不確定時,填 xn-- 形式最保險。
可以直接貼上整個網址嗎
可以,每行一個。工具只轉換主機名稱的部分,通訊協定、使用者名稱、連接埠、路徑和參數都會原樣保留。路徑和參數裡的中文不會被轉換,那部分使用的是百分比編碼,可以用本站的 URL 編碼解碼工具處理。
為什麼轉換後字母都變成小寫,全形字元也不見了
網域不分大小寫,所以會先統一轉成小寫。全形字母、全形數字會先換成一般寫法,中文句號「。」和全形句點也會當作分隔的點。這樣 中文。COM 和 中文.com 會得到相同的結果。
顯示「超過網域每段 63 個字元的上限」是什麼意思
DNS 規定網域裡每一段(兩個點之間的部分)最多 63 個字元,整個網域最多 253 個字元,這裡是依轉換後的 xn-- 形式計算。漢字越多、越不重複,轉換後就越長,超過上限的網域無法註冊和解析。
還原時顯示「不是有效的 Punycode」怎麼辦
表示 xn-- 後面的內容不符合編碼規則,常見原因是複製時少了幾個字元,或混入了空白、引號這類字元。只有以 xn-- 開頭的那一段會被還原,其他段原樣輸出,所以可以整行貼上,出錯的行會在下方標出行號。
轉換結果和其他工具不一樣,以哪個為準
以瀏覽器為準。本工具對常見的中文、日文、俄文、希臘文和德文網域,結果都和瀏覽器網址列的處理一致。例如德語的 ß 會保留並編碼成 xn--zca,而一些依舊規則處理的工具會把它改成 ss,得到不同的網域。
輸入的網域會傳送到伺服器嗎
不會。轉換全部在瀏覽器裡完成,頁面不會把輸入的內容傳送給任何伺服器,也不會查詢這個網域是否已註冊。