国际域名注册
外贸公司为德国市场注册域名,业务员拿到的是德语单词「straße」,但注册商后台只认 ASCII 字符。他需要把「straße」转成 Punycode 后填入系统,否则提示非法字符。本工具实时转码,秒出「xn--strae-oqa」,避免因格式错误被注册商驳回,错过首选的域名。
在浏览器地址栏粘贴一串 `xn--4gq094i` 时,多数人不知道这对应的是哪个中文域名。这个工具在输入框接收中文域名或 Punycode 编码,即时完成互转,并显示转换后的完整结果。转换逻辑完全在浏览器内执行,输入的域名不会离开本地设备。
外贸公司为德国市场注册域名,业务员拿到的是德语单词「straße」,但注册商后台只认 ASCII 字符。他需要把「straße」转成 Punycode 后填入系统,否则提示非法字符。本工具实时转码,秒出「xn--strae-oqa」,避免因格式错误被注册商驳回,错过首选的域名。
企业邮箱管理员收到一封退回信,发件人地址是「张三@中文域名.cn」。Outlook 报错说地址包含不支持的字符,无法投递。他需要把发件人地址中的中文域名部分转成 Punycode 格式,然后重新配置发件规则。本工具一次转换整个域名,不必手动逐段编码,确保邮件系统能正确识别路由。
前端工程师开发了一个支持中文域名的网站,测试时发现 Chrome 地址栏输入「测试.com」能正常访问,但 IE11 直接跳转搜索页。他需要用 Punycode 形式「xn--0zwc56a.com」验证旧版浏览器的处理逻辑。本工具提供双向转换,方便他快速生成测试用例,定位到底是浏览器不解析还是后端重定向有问题。
网站运维在 Cloudflare 后台添加域名白名单,复制粘贴了中文域名「安全防护.cn」,系统提示「Invalid hostname」。客服要求必须输入 ASCII 兼容编码。他需要把中文域名转成 Punycode 后重新提交。本工具转换结果可直接粘贴到 CDN 配置框,省去手动查 RFC 3492 编码表的麻烦。
系统管理员为「中国银行.cn」申请 HTTPS 证书,CA 机构要求验证域名所有权。验证文件需要放在指定路径下,但路径中包含中文域名,服务器上目录名必须用 Punycode。他需要把中文域名转码后,在 Nginx 配置里写对 location 块,否则验证请求 404。本工具确保他填写的路径与 CA 服务器请求的路径一致。
| 输入 | 输出 | 说明 |
|---|---|---|
| 中文.中国 | xn--fiq228c.xn--fiqs8s | 常规:常见中文域名转码,验证主流汉字和顶级域名的编码结果 |
| xn--fiq228c.xn--fiqs8s | 中文.中国 | 常规:反向解码,验证双向转换一致性 |
| 你好世界.com | xn--6qq79v37d.com | 常规:四个汉字组合,验证多字符连续编码 |
| a.b.c | a.b.c | 边界:纯 ASCII 输入,工具应原样返回,不添加 xn-- 前缀 |
| xn-- | xn-- | 边界:仅前缀无有效编码,工具应保持原样或报错,不误解码 |
| 中文.中国(带空格) | xn--fiq228c.xn--fiqs8s(输入空格被自动去除) | 易错:用户常粘贴含空格或不可见字符的域名,工具应自动清理 |
| xn--abc123.xn--def456 | (解码失败,返回原始输入或提示无效编码) | 易错:无效 punycode 序列(如非法字符组合),工具应明确反馈而非静默错误 |
1.直接粘贴带协议头的完整URL
https://www.例子.中国www.例子.中国Punycode转换只处理域名部分,协议头(http://)和路径(/page)不属于IDN编码范围,粘贴完整URL会导致转换失败或截断。
2.混淆Punycode编码与URL编码
输入 %E4%B8%AD%E5%9B%BD 期望转成 xn--fiqs8s输入 中国Punycode(RFC 3492)是将Unicode字符转为ASCII的IDN编码,而%XX是URL百分号编码(RFC 3986),两者完全不同的编码体系。
3.混入空格或不可见字符
例子 .中国(域名和点之间有空格)例子.中国域名标签之间只能有单个点分隔,空格、制表符、零宽空格等不可见字符会导致ACE前缀检测失败,输出乱码或无法解码。
4.对纯ASCII域名进行编码
输入 google.com 期望得到 xn--google-xxx输入 google.com → 输出仍为 google.comPunycode只对包含非ASCII字符的域名标签进行编码。纯ASCII域名(如google.com)本身已是合法DNS格式,不会触发编码转换。
5.忽略大小写敏感性误解
输入 xn--FIQS8S 解码后认为结果应为大写输入 xn--fiqs8s 或 xn--FIQS8S 都解码为 中国Punycode编码不区分大小写(RFC 3492 §3.1),但解码结果始终为小写Unicode。域名解析时大小写不敏感,但显示习惯为小写。
6.误以为所有中文域名都转成相同前缀
认为 例子.中国 和 例子.公司 都转成 xn--fsq例子.中国 → xn--fsq831a.xn--fiqs8s;例子.公司 → xn--fsq831a.xn--55qx5d每个顶级域(TLD)有独立的Punycode编码。.中国对应 xn--fiqs8s,.公司对应 xn--55qx5d,不同TLD编码结果完全不同。
7.将编码结果用于非DNS场景
把 xn--fsq831a 当作通用编码用在文件名或密码中仅在DNS解析、浏览器地址栏、邮件服务器配置等IDN场景使用Punycode是DNS专用编码(RFC 5891),用于国际化域名解析。在其他场景使用可能导致兼容性问题或安全风险(如同形异义字攻击)。
ACE = ToASCII(U-label) 或 ToUnicode(A-label)
U-labelUnicode 编码的中文域名A-labelASCII 编码的 xn-- 域名ToASCIIRFC 3491 定义的编码算法ToUnicodeRFC 3491 定义的解码算法输入中文域名「全宝工具站.中国」,先执行 Nameprep 规范化(NFKC 归一化),再按 Punycode 算法编码:将每个汉字转为 Unicode 码点(如「全」= 0x5168),按 Base-32 变长编码规则压缩,最终输出 A-label = xn--6qqx7b7a7b7a7b7a.xn--fiqs8s。
Punycode 只转换包含非 ASCII 字符(中文、日文、特殊符号等)的域名。纯英文字母或数字的域名不需要编码,所以输入 baidu.com 会原样返回。只有像「百度.com」这样的中文域名才会被转成 xn--百度-3k8.com 格式。如果想把纯英文域名硬转成 Punycode,那不符合 RFC 3492 标准,工具不会做无效转换。
能。Punycode 是国际域名(IDN)的标准化编码,主流浏览器(Chrome、Edge、Firefox、Safari)都内置了解码功能。在地址栏粘贴 xn--百度-3k8.com 这类格式,浏览器会自动解码并跳转到对应中文域名。不过部分老旧浏览器或命令行工具可能不完整支持,建议用最新版本浏览器。
Punycode 长度取决于原始中文字符的 Unicode 码点。每个汉字编码后变成 4-6 个字母数字组合,所以汉字越多、笔画越复杂的字(如「龘」),转换结果越长。RFC 3492 规定 Punycode 结果不能超过 63 个字符,超出部分会被截断(但极少发生)。如果域名包含多个汉字,建议先在本工具预览转换后的长度,确保不超过浏览器限制。
不会。工具实现方式是纯前端(FE),所有转换逻辑在你浏览器本地运行,不经过任何后端服务器。输入的域名不会离开你的设备,也不会有日志记录。即使断网,只要页面已加载,也能正常转换。隐私敏感场景(如内部系统域名、未公开的测试域名)可以放心使用。
这是标准域名格式的根区点(root zone dot)。完整域名末尾应该有一个点表示根域(如 baidu.com.),但日常使用中省略。本工具转换结果默认不带末尾点,如果你粘贴后出现多余点,可能是复制时包含了其他字符(如空格、换行)。建议直接复制工具输出框的纯文本,不要手动补全或修改。
如果输入的不是标准中文字符(如全角符号、繁体异体字、Unicode 控制字符),转换结果可能看起来像乱码,但仍然符合 Punycode 标准。例如输入「·」(中间点)这种非 ASCII 字符,会被编码成 xn--xxx。解决办法:确保输入的是标准简体中文汉字(GB2312 范围内),避免使用特殊符号或生僻字。本工具对输入字符有实时校验,非法字符会标红提示。
浏览器地址栏只在你输入中文域名并回车时自动转换,不会显示 Punycode 原文。本工具提供双向转换:中文→xn-- 和 xn--→中文,方便调试、记录或粘贴到不支持中文的旧系统。例如,你在服务器配置文件中需要写 Punycode 形式的域名,或者从第三方日志里看到 xn-- 格式想还原中文,就必须用这类专门工具。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。