Punycode 转换器

轻松实现国际化域名 (IDN) 与标准 ASCII 编码之间的双向转换

🌙
广告展示区域 (AdSense Placeholder)
Unicode (中文/国际化域名)
Punycode (xn-- 编码格式)
点击尝试常见示例:
测试.com 中国.cn 😊.app google.コム
广告展示区域 (AdSense Placeholder)

Punycode 转换指南:什么是国际化域名 (IDN)?

在互联网诞生之初,域名系统 (DNS) 仅支持 ASCII 字符(英文字母、数字和连字符)。然而,随着互联网的全球化,非英语国家的用户希望能够使用本国语言(如中文、日文、阿拉伯文)作为域名。为了在不改变现有 DNS 基础架构的前提下实现这一目标, Punycode 编码技术应运而生。

1. Punycode 的工作原理

Punycode 是一种特殊的编码算法,它能够将包含非 ASCII 字符的 Unicode 字符串映射为唯一的 ASCII 字符串。在域名的上下文中,这种编码后的字符串通常以 xn-- 前缀开头。例如,中文域名“测试.com”经过转换后,在网络协议底层实际上被表示为 xn--0zwm56d.com

2. 为什么需要进行 Punycode 转换?

3. 安全性提示:同形异义词攻击 (Homograph Attack)

Punycode 虽然解决了语言障碍,但也带来了安全挑战。攻击者可以使用视觉上极其相似的非英文字符来伪造知名域名(例如用西里尔字母的 а 代替英文 a )。这就是为什么现代浏览器在地址栏中,如果检测到域名包含多种混合语系,通常会强制显示其原始的 xn-- 格式,以提醒用户注意潜在的欺诈风险。

常见问题解答 (FAQ)

Q: 我在浏览器里输入“中文.com”,它会自动转换吗?
A: 是的,现代主流浏览器(Chrome, Edge, Safari, Firefox)在发送 DNS 请求前都会自动完成 Unicode 到 Punycode 的转换,这对用户是透明的。

Q: 表情符号 (Emoji) 也能转换成 Punycode 吗?
A: 完全可以!像 😊.com 这样的域名同样遵循 IDNA 规范,会被转换为对应的 xn-- 格式。

已复制